Main Content

computeLongitudinalFlyingQualities

Calculate short-period and long-period (phugoid) mode characteristics of specified state-space model

Description

lonFQOut = computeLongitudinalFlyingQualities(modelToAnalyze) calculates longitudinal flying qualities (short-period and phugoid mode) using the linear system state-space model selected in the input dialog window and compares the results against the specified source document requirements.

lonFQOut = computeLongitudinalFlyingQualities(modelToAnalyze,linSys) calculates longitudinal flying qualities (short-period and phugoid mode) using the linear system state-space model selected in the input dialog window.

To create a usable state-space model, use the linearizeAirframe function.

lonFQOut = computeLongitudinalFlyingQualities(modelToAnalyze,linSys,generatePlots) calculates longitudinal flying qualities (short-period and phugoid mode) using linear system state-space model linSys.

[lonFQOut,varNameOut] = computeLongitudinalFlyingQualities(___,Name,Value) returns the output results structure variable name, varNameOut, for the input argument combination in the previous syntax, according to the Name,Value arguments.

example

Examples

collapse all

Calculate the longitudinal flying qualities of a Simulink® aircraft model.

asbFlightControlAnalysis('3DOF', 'SkyHoggAnalysisModel');
opSpecDefault = SkyHogg3DOFOpSpec('SkyHoggAnalysisModel');
opTrim = trimAirframe('SkyHoggAnalysisModel', opSpecDefault);
linSys = linearizeAirframe('SkyHoggAnalysisModel', opTrim)
flyingQual = computeLongitudinalFlyingQualities('SkyHoggAnalysisModel', linSys)
 Operating point search report:
---------------------------------

 Operating point search report for the Model SkyHoggAnalysisModel.
 (Time-Varying Components Evaluated at time t=0)

Operating point specifications were successfully met.
States: 
----------
(1.) Xe
      x:     -4.45e-14      dx:           129
(2.) Ze
      x:        -2e+03      dx:     -1.69e-07 (0)
(3.) theta
      x:       0.00619      dx:             0 (0)
(4.) u
      x:           129      dx:      -7.9e-08 (0)
(5.) w
      x:         0.802      dx:     -5.24e-07 (0)
(6.) q
      x:             0      dx:     -8.41e-08 (0)

Inputs: 
----------
(1.) SkyHoggAnalysisModel/ElevatorCmd
      u:        0.0125    [-0.349 0.349]
(2.) SkyHoggAnalysisModel/ThrottleCmd
      u:         0.929    [-Inf Inf]

Outputs: 
----------
(1.) SkyHoggAnalysisModel/LonStatesBus
      y:     -4.45e-14    [-Inf Inf]
      y:        -2e+03    [-Inf Inf]
      y:       0.00619    [-Inf Inf]
      y:           129    [-Inf Inf]
      y:         0.802    [-Inf Inf]
      y:             0    [-Inf Inf]


linSys =
 
  A = 
                 u         w         q     theta
   u      -0.05768   0.04733   -0.8016    -9.806
   w       -0.1149    -5.532     129.4  -0.06073
   q      0.001031   -0.1665         0         0
   theta         0         0         1         0
 
  B = 
          ElevatorCmd  ThrottleCmd
   u           0.4828         0.36
   w            30.57            0
   q           -15.86            0
   theta            0            0
 
  C = 
              u      w      q  theta
   q          0      0      1      0
   theta      0      0      0      1
 
  D = 
          ElevatorCmd  ThrottleCmd
   q                0            0
   theta            0            0
 
Continuous-time state-space model.


flyingQual = 

  struct with fields:

        PhugoidMode: [1×1 struct]
    ShortPeriodMode: [1×1 struct]

Calculate the longitudinal flying qualities of an Aero.FixedWing object.

[aircraft, state] = astSkyHogg();
linSys = linearize(aircraft, state)
flyingQual = computeLongitudinalFlyingQualities('', linSys)
linSys =
 
  A = 
                 XN         XD          U          W          Q      Theta
   XN             0          0     0.9999     0.0154          0  5.186e-05
   XD             0          0    -0.0154     0.9999          0     -1.719
   U              0          0   -0.04342     0.1119   -0.02653    -0.1712
   W              0          0    -0.1286     -4.082      1.719  -0.002637
   Q              0          0     0.1083     -7.037          0          0
   Theta          0          0          0          0          1          0
 
  B = 
           Elevator  Propeller
   XN             0          0
   XD             0          0
   U      -0.002381      8.837
   W        -0.2997          0
   Q         -8.908          0
   Theta          0          0
 
  C = 
             XN     XD      U      W      Q  Theta
   XN         1      0      0      0      0      0
   XD         0      1      0      0      0      0
   U          0      0      1      0      0      0
   W          0      0      0      1      0      0
   Q          0      0      0      0      1      0
   Theta      0      0      0      0      0      1
 
  D = 
           Elevator  Propeller
   XN             0          0
   XD             0          0
   U              0          0
   W              0          0
   Q              0          0
   Theta          0          0
 
Continuous-time state-space model.

flyingQual = 

  struct with fields:

        PhugoidMode: [1×1 struct]
    ShortPeriodMode: [1×1 struct]

Input Arguments

collapse all

Model on which to perform flight control analysis using the linear state-space model linSys. To use a state-space model directly, set the model name to an empty string, ''.

Data Types: char | string

Linear state-space model object used to perform flight control analysis on modelToAnalyze. To create the state-space model from the input dialog menu, set linSys to an empty string, ''. To create a valid state-space model, see linearizeAirframe.

The state-space model must have these state names:

  • U

  • W

  • Q

  • theta

Data Types: char | string

Set to on to plot the pole-zero map in a figure window for the linear system state-space model. Otherwise, set to off. The function plots the pole-zero map in different colors.

  • Phugoid — red

  • Short period — blue

Data Types: char | string

Name-Value Arguments

Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Before R2021a, use commas to separate each name and value, and enclose Name in quotes.

Example: 'SourceDocument','MIL1797A'

Document for flying qualities requirements verification, specified as:

  • MIL8785C — Flying qualities of piloted airlines

  • MIL1797A — Flying qualities of piloted aircraft

Data Types: char | string

Flying qualities level, specified as:

  • Lowest — Returns the verified requirements closest to level 1 for each requirement in the selected source document.

  • All — Returns a struct vector with all requirement levels and their verification status.

  • 1, 2, or 3 — Returns the desired requirement level, regardless of the verification status.

Data Types: char | string

Output Arguments

collapse all

Phugoid and short-period longitudinal flying qualities, returned as a structure vector.

If a linear system is selected through the input dialog, varNameOut returns the results structure variable name. Otherwise, varNameOut returns an empty string.

Limitations

This function requires the Simulink Control Design™ license.

Version History

Introduced in R2018b

expand all