Page 1 of 6 UNIVERSITY OF EXETER COLLEGE OF ENGINEERING, MATHEMATICS AND PHYSICAL SCIENCES ECMM136 Systems Analysis in Engineering Continuous Assessment MATLAB Coursework: Systems Analysis Using Matlab and Simulink Date Set: 8Th February 2021 Date Due: 25Th March 2021 @ 1200 Return Date: 28Th April 2021 This coursework comprises 30% of the overall module assessment. This is an individual exercise, and your attention is drawn to the guidelines on collaboration and plagiarism in the College guidelines. (See and for further detail). This coursework tests your understanding of Systems Analysis and some programming in MATLAB. Page 2 of 6 System description: Longitudinal model of a B747-100/200 The coursework deals with modelling, control and sensitivity/uncertainty analysis for the longitudinal axis of a B747-100/200 aircraft. A typical longitudinal axis states and inputs of an aircraft are given in Figure 1. Figure 1: aircraft longitudinal axis (states and inputs) A simplified model, known as a linear parameter varying (LPV) model, can be used to represent the actual B747-100/200 aircraft. The states of the model are () ∈ ℝ5×1 given by: () = [ ℎ] (1) which represents pitch rate (rad/s), speed (m/s), angle of attack (rad), pitch angle (rad) and altitude (m). The inputs are () ∈ ℝ3×1 given by: () = [ ] (2) which represent elevator (rad), stabilizer (rad) and thrust (N). The underlying equation of the LPV model is given by the following equation: ̇() = ()() + ()() (3) where () ∈ ℝ5×5 and () ∈ ℝ5×3 defined as: () = 0 + ∑ 7 =1 (4) () = 0 + ∑ 7 =1 (5) The seven LPV varying parameters are given by: = [1 2 3 4 5 6 7] = [ 2 2 3 4] (6) which depends on the states angle of attack and speed . Elevator Stabiliser Positive deflection Positive rotation Page 3 of 6 It is required that the flight path angle (rad) (defined as = − ), and the velocity is to be controlled, with the tracking performance specification are given in Table 1 below: Controlled states Performance specification Flightpath angle 0 to 3 deg in 10 s Velocity 0 to 10 m/s in 10 s Table 1: Controlled states and its performance specification The typical range for the inputs is given below: Inputs Typical range Elevator [-1 1] deg Stabilise [-1 1] deg Thrust [−1 × 10 5 1 × 105] N Table 2: Inputs and its typical range of operation The signals and used in LPV parameters in (6), have uncertainty ranges specified below: LPV signal source Uncertainty Range [-1 1] deg [-5 5] m/s Table 3: The LPV signal source uncertainties Preparation To complete this coursework, you will need to download the zip file called "" file from the Coursework section on the ELE page for this module. To use this file within MATLAB, you need to save it to a local directory and select this directory as your current folder in MATLAB or any folder that you prefer. The zip file contains two files. The "B747_LPVplant.mat" file contains all the matrices for () and () associated with the LPV model (see equations (3)-(6) above) while "B747_LPVplant_init.m" will load the mat file. You should use the "B747_LPVplant_init.m" file to initialise all the parameters in the model and other programs/codes associated with this coursework. Tasks Using MATLAB and SIMULINK: 1) Create the SIMULINK model to represent the longitudinal axis of the B74-100/200 using equations (1)-(6) given above. To test whether your model is implemented correctly in Simulink, you can perform a simple test by perturbing the pitch rate states by 1 deg/s at the beginning of the simulation and check the behaviour of all the states in the model. Notes:  Some info on simple aircraft modelling can be found here.  States perturbation can be made by setting nonzero initial conditions in the states integrator. Page 4 of 6  Be careful about units while modelling. Note that some of the units for the inputs and states of the model (1)-(6) are in rad or rad/s, while the specifications given in Table 1-Table 3 are in deg or deg/s. 2) Perform a sensitivity/uncertainty analysis of the open-loop systems using the one- factor-at-a-time method and plot the tornado graph. Identify the parameters (input/uncertainties) that affect the system's states the most. Notes:  Note that, for sensitivity/uncertainty analysis, the nominal values of all the states () and inputs () are zero.  The sensitivity/uncertainty analysis must be performed for all inputs () as well as the uncertainty in the LPV parameters.  Step inputs (with magnitude set as a variable) can be used as a type of input signals (). 3) Implement two PID controllers to track flight path angle γ (using the elevator) and velocity V (using thrust). Tune the PID controllers to ensure the tracking performance in Table 2 is satisfied, with minimal coupling effect. Notes:  Use square inputs as the command signals. For example, for the command signals for flight path angle , first, perform +3 deg for 10 s and followed by - 3deg for the following 10 s to return the command signal back to zero.  To ensure decoupled performance, the command signals for flight path angle and velocity need to be set at a different time.  The SIMULINK standard PID block to tune the PID controllers can be used to aid the tuning process. 4) Implement the "Latin Hypercube sampling" method (or at least the "brute-force" method) and perform the sensitivity/uncertainty analysis for the closed-loop system. Identify the parameters that affect the performance of the two PID controllers (the tracking of flight path angle and speed ). Notes:  For sensitivity/uncertainty analysis, the nominal values of all the states () and inputs () are zero.  The sensitivity/uncertainty analysis must be performed for all command signals as well as the uncertainty in the LPV parameters.  To analyse the performance of the PID controllers, you can analyse the error signals () between the commanded signals and the actual measurements.  To create a random number, use Matlab command “rand” 5) Discuss the possibility of using the genetic algorithm to help tune the controller that will be able to handle all variations in the command signals and uncertainties. How this can be achieved using MATLAB and/or SIMULINK. Notes:  You can use the knowledge provided in Workshop 7 or 8 or lecture notes on genetic algorithm to help you with this question. Page 5 of 6 Instructions Deadline: Thursday, 25th March 2021, 12:00 noon Method of submission and file type: a) eBART (Report in PDF) b) Email a ZIP file (which contain one Matlab "xyz_init.m" and one Simulink "xyz.slx" files) to The report for this coursework (in PDF) must be submitted to e-BART ( - School: CEMPS, location: Harrison) by 12:00 noon on the date indicated on the front page of this document. In the report, you should address all questions/task posed above, which should be brief and to the point. Include all the modifications made to the original code and functions (if any). Furthermore, you should include the MATLAB commands or SIMULINK diagrams you used and the text or image output produced. Finally, you should include the reasoning and motivation behind the choices made. In addition, you should email an electronic copy of the MATLAB “.m” file and SIMULINK “.slx” files to Dr Alwi ( as a single zip file. Please use the following naming convention for the zip files (which contain one MATLAB “.m” file and one SIMULINK files): The zip file should contain one "xyz_init.m" and one "xyz.slx" file (with the same naming convention as the zip file). Remark: The submitted zip file should run task 4 (task 1-3 can be commented). Matlab Version requirement: If you are using Matlab R2020a or later, please save your Simulink file to R2019b version – In Simulink, Menu>File>Export Model to>previous version>select R2019b models. Report formatting requirement:  The report should not exceed ten A4 pages (or approximately 4000 words - when excluding plots/figures/codes).  Only Arial or Calibri Light font styles may be used and text should be justified left.  You should use a minimum font size 11.  Margins must be at least 2cm in all directions.  The document size should be standard A4 size, single column.  All pages must be numbered.  The report needs to include an introduction and conclusion sections (both need to be as brief as possible). Page 6 of 6 Marking Scheme Criteria Marks Has the Simulink model implemented correctly? Does the open-loop model behave as expected when perturbed (by 1deg/s) in the pitch rate () channel? 30 Does the sensitivity analysis of the open-loop systems using one-factor-at-a- time method and plot tornado graph implemented and coded correctly?. Do the parameters that affect the system's states have been identified? 10 Have the PID controllers (to track flight path angle and velocity ) been designed and implemented correctly (tracking performance with minimal coupling effects)? 10 Has the Latin Hypercube (or at least brute-force) sampling method been implemented correctly? Does the sensitivity analysis of the PID tracking performance when subjected to uncertainties have been done? Do the parameters that affect performance been identified? 30 Are there any discussions on the possibility of using the genetic algorithm to help tune the controller that will be able to handle all variations in the command signals and uncertainties? And how can this be achieved? 10 Presentation - clarity of writing and overall readability of the report 10 Total 100