Dryden Wind Turbulence Model (Discrete)
Generate discrete wind turbulence with Dryden velocity spectra
Libraries:
Aerospace Blockset /
Environment /
Wind
Description
The Dryden Wind Turbulence Model (Discrete) block uses the Dryden spectral representation to add turbulence to the aerospace model by using bandlimited white noise with appropriate digital filter finite difference equations. This block implements the mathematical representation in the Military Specification MILF8785C, Military Handbook MILHDBK1797, and Military Handbook MILHDBK1797B. For more information, see Algorithms.
Limitations
The frozen turbulence field assumption is valid for the cases of meanwind velocity and the rootmeansquare turbulence velocity, or intensity, is small relative to the aircraft's ground speed.
The turbulence model describes an average of all conditions for clear air turbulence because the following factors are not incorporated into the model:
Terrain roughness
Lapse rate
Wind shears
Mean wind magnitude
Other meteorological factions (except altitude)
Ports
Input
h — Altitude
scalar
Altitude, specified as a scalar, in selected units.
Data Types: double
V — Aircraft speed
scalar
Aircraft speed, specified as a scalar, in selected units.
Data Types: double
DCM — Direction cosine matrix
3by3 matrix
Direction cosine matrix, specified as a 3by3 matrix representing the flat Earth coordinates to bodyfixed axis coordinates.
Data Types: double
Output
V_{wind} — Turbulence velocities
threeelement vector
Turbulence velocities, returned as a threeelement vector in the same body coordinate reference as the DCM input, in specified units.
Data Types: double
ω_{wind} — Turbulence angular rates
threeelement vector
Turbulence angular rates, specified as a threeelement vector, in radians per second.
Data Types: double
Parameters
Units — Wind speed units
Metric (MKS)
(default)  English (Velocity in ft/s)
 English (Velocity in kts)
Units of wind speed due to turbulence, specified as:
Units  Wind Velocity  Altitude  Air Speed 

Metric (MKS)  Meters/second  Meters  Meters/second 
English (Velocity in ft/s)  Feet/second  Feet  Feet/second 
English (Velocity in kts)  Knots  Feet  Knots 
Programmatic Use
Block Parameter: units 
Type: character vector 
Values: 'Metric (MKS)'  'English (Velocity in ft/s)'  'English (Velocity in kts)' 
Default: 'Metric (MKS)' 
Specification — Military reference
MILF8785C
(default)  MILHDBK1797
 MILHDBK1797B
Military reference, which affects the application of turbulence scale lengths in the lateral and vertical directions, specified as MILF8785C
, MILHDBK1797
, or MILHDBK1797B
.
Programmatic Use
Block Parameter: spec 
Type: character vector 
Values: 'MILF8785C'  'MILHDBK1797'  'MILHDBK1797B' 
Default: 'MILF8785C' 
Model type — Turbulence model
Discrete Dryden (+q +r)
(default)  Continuous Von Karman (+q +r)
 Continuous Von Karman (q +r)
 Continuous Dryden (+q r)
 Continuous Dryden (+q +r)
 Continuous Dryden (q +r)
 Discrete Dryden (+q r)
 Continuous Von Karman (+q r)
 Discrete Dryden (q +r)
Select the wind turbulence model to use:
 Use continuous representation of Von Kármán velocity spectra with positive vertical and negative lateral angular rates spectra. 
 Use continuous representation of Von Kármán velocity spectra with positive vertical and lateral angular rates spectra. 
 Use continuous representation of Von Kármán velocity spectra with negative vertical and positive lateral angular rates spectra. 
 Use continuous representation of Dryden velocity spectra with positive vertical and negative lateral angular rates spectra. 
 Use continuous representation of Dryden velocity spectra with positive vertical and lateral angular rates spectra. 
 Use continuous representation of Dryden velocity spectra with negative vertical and positive lateral angular rates spectra. 
 Use discrete representation of Dryden velocity spectra with positive vertical and negative lateral angular rates spectra. 
 Use discrete representation of Dryden velocity spectra with positive vertical and lateral angular rates spectra. 
 Use discrete representation of Dryden velocity spectra with negative vertical and positive lateral angular rates spectra. 
The Discrete Dryden selections conform to the transfer function descriptions.
Programmatic Use
Block Parameter:
model 
Type: character vector 
Values: 'Continuous
Von Karman (+q +r)'  'Continuous Von Karman
(q +r)'  'Continuous Dryden (+q
r)'  'Continuous Dryden (+q +r)'
 'Continuous Dryden (q +r)' 
'Discrete Dryden (+q r)' 
'Discrete Dryden (+q +r)' 
'Discrete Dryden (q +r)' 
Default: 'Discrete
Dryden (+q +r)' 
Wind speed at 6 m defines the low altitude intensity — Measured wind speed
15
(default)  real scalar
Measured wind speed at a height of 20 feet (6 meters), specified as a real scalar, which provides the intensity for the lowaltitude turbulence model.
Programmatic Use
Block Parameter: W20 
Type: character vector 
Values: real scalar 
Default: '15' 
Wind direction at 6 m (degrees clockwise from north) — Measured wind direction
0
(default)  real scalar
Measured wind direction at a height of 20 feet (6 meters), specified as a real scalar, which is an angle to aid in transforming the lowaltitude turbulence model into a body coordinates.
Programmatic Use
Block Parameter: Wdeg 
Type: character vector 
Values: real scalar 
Default: '0' 
Probability of exceedance of highaltitude intensity — Turbulence intensity
10^2  Light
(default)  10^1
 2x10^1
 10^3  Moderate
 10^4
 10^5  Severe
 10^6
Probability of the turbulence intensity being exceeded, specified as 10^2  Light
, 10^1
, 2x10^1
, 10^3  Moderate
, 10^4
, 10^5  Severe
, or 10^6
. Above 2000 feet, the turbulence intensity is determined from a lookup table that gives the turbulence intensity as a function of altitude and the probability of the turbulence intensity being exceeded.
Programmatic Use
Block Parameter: TurbProb 
Type: character vector 
Values: '2x10^1'  '10^1'  '10^2  Light'  '10^3  Moderate'  '10^4'  '10^5  Severe'  '10^6' 
Default: '10^2  Light' 
Scale length at medium/high altitudes (m) — Turbulence scale length
533.4
(default)  real scalar
Turbulence scale length above 2000 feet, specified as a real scalar, which is assumed constant. From the military references, a figure of 1750 feet is recommended for the longitudinal turbulence scale length of the Dryden spectra.
Note
An alternate scale length value changes the power spectral density asymptote and gust load.
Programmatic Use
Block Parameter:
L_high 
Type: character vector 
Values: real scalar 
Default:
'533.4' 
Wingspan — Wingspan
10
(default)  real scalar
Wingspan, specified as a real scalar, which is required in the calculation of the turbulence on the angular rates.
Programmatic Use
Block Parameter: Wingspan 
Type: character vector 
Values: real scalar 
Default: '10' 
Band limited noise sample time (seconds) — Noise sample time
0.1
(default)  real scalar
Noise sample time, specified as a real scalar, at which the unit variance white noise signal is generated.
Programmatic Use
Block Parameter: ts 
Type: character vector 
Values: real scalar 
Default: '0.1' 
Random noise seeds — Noise seeds [ug vg wg pg]
[23341 23342 23343 23344]
(default)  fourelement vector
Random noise seeds, specified as a fourelement vector, which are used to generate the turbulence signals, one for each of the three velocity components and one for the roll rate:
The turbulences on the pitch and yaw angular rates are based on further shaping of the outputs from the shaping filters for the vertical and lateral velocities.
Programmatic Use
Block Parameter: Seed 
Type: character vector 
Values: fourelement vector 
Default: '[23341 23342 23343 23344]' 
Turbulence on — Turbulence signals
on
(default)  off
To generate the turbulence signals, select this check box.
Programmatic Use
Block Parameter: T_on 
Type: character vector 
Values: 'on'  'off' 
Default: 'on' 
Algorithms
According to the military references, turbulence is a stochastic process defined by velocity spectra. For an aircraft flying at a speed V through a frozen turbulence field with a spatial frequency of Ω radians per meter, the circular frequency ω is calculated by multiplying V by Ω. The following table displays the component spectra functions:
MILF8785C  MILHDBK1797 and MILHDBK1797B  

Longitudinal  
$${\Phi}_{u}\left(\omega \right)$$

$$\frac{2{\sigma}_{u}^{2}{L}_{u}}{\pi V}\cdot \frac{1}{1+{\left({L}_{u}\frac{\omega}{V}\right)}^{2}}$$

$$\frac{2{\sigma}_{u}^{2}{L}_{u}}{\pi V}\cdot \frac{1}{1+{\left({L}_{u}\frac{\omega}{V}\right)}^{2}}$$

$${\Phi}_{p}(\omega )$$

$$\frac{{\sigma}_{w}^{2}}{V{L}_{w}}\cdot \frac{0.8{\left(\frac{\pi {L}_{w}}{4b}\right)}^{\raisebox{1ex}{$1$}\!\left/ \!\raisebox{1ex}{$3$}\right.}}{1+{\left(\frac{4b\omega}{\pi V}\right)}^{2}}$$

$$\frac{{\sigma}_{w}^{2}}{2V{L}_{w}}\cdot \frac{0.8{\left(\frac{2\pi {L}_{w}}{4b}\right)}^{\raisebox{1ex}{$1$}\!\left/ \!\raisebox{1ex}{$3$}\right.}}{1+{\left(\frac{4b\omega}{\pi V}\right)}^{2}}$$

Lateral  
$${\Phi}_{v}(\omega )$$

$$\frac{{\sigma}_{v}^{2}{L}_{v}}{\pi V}\cdot \frac{1+3{\left({L}_{v}\frac{\omega}{V}\right)}^{2}}{{\left[1+{\left({L}_{v}\frac{\omega}{V}\right)}^{2}\right]}^{2}}$$

$$\frac{2{\sigma}_{v}^{2}{L}_{v}}{\pi V}\cdot \frac{1+12{\left({L}_{v}\frac{\omega}{V}\right)}^{2}}{{\left[1+4{\left({L}_{v}\frac{\omega}{V}\right)}^{2}\right]}^{2}}$$

$${\Phi}_{r}(\omega )$$

$$\frac{\mp {\left(\frac{\omega}{V}\right)}^{2}}{1+{\left(\frac{3b\omega}{\pi V}\right)}^{2}}\cdot {\Phi}_{v}\left(\omega \right)$$

$$\frac{\mp {\left(\frac{\omega}{V}\right)}^{2}}{1+{\left(\frac{3b\omega}{\pi V}\right)}^{2}}\cdot {\Phi}_{v}\left(\omega \right)$$

Vertical  
$${\Phi}_{w}(\omega )$$

$$\frac{{\sigma}_{w}^{2}{L}_{w}}{\pi V}\cdot \frac{1+3{\left({L}_{w}\frac{\omega}{V}\right)}^{2}}{{\left[1+{\left({L}_{w}\frac{\omega}{V}\right)}^{2}\right]}^{2}}$$

$$\frac{2{\sigma}_{w}^{2}{L}_{w}}{\pi V}\cdot \frac{1+12{\left({L}_{w}\frac{\omega}{V}\right)}^{2}}{{\left[1+4{\left({L}_{w}\frac{\omega}{V}\right)}^{2}\right]}^{2}}$$

$${\Phi}_{q}(\omega )$$

$$\frac{\pm {\left(\frac{\omega}{V}\right)}^{2}}{1+{\left(\frac{4b\omega}{\pi V}\right)}^{2}}\cdot {\Phi}_{w}\left(\omega \right)$$

$$\frac{\pm {\left(\frac{\omega}{V}\right)}^{2}}{1+{\left(\frac{4b\omega}{\pi V}\right)}^{2}}\cdot {\Phi}_{w}\left(\omega \right)$$

The variable b represents the aircraft wingspan. The variables L_{u}, L_{v}, L_{w} represent the turbulence scale lengths. The variables σ_{u}, σ_{v}, σ_{w} represent the turbulence intensities.
The spectral density definitions of turbulence angular rates are defined in the references as three variations, which are displayed in the following table:
$${p}_{g}=\frac{\partial {w}_{g}}{\partial y}$$
$${p}_{g}=\frac{\partial {w}_{g}}{\partial y}$$
$${p}_{g}=\frac{\partial {w}_{g}}{\partial y}$$

$${q}_{g}=\frac{\partial {w}_{g}}{\partial x}$$
$${q}_{g}=\frac{\partial {w}_{g}}{\partial x}$$
$${q}_{g}=\frac{\partial {w}_{g}}{\partial x}$$

$${r}_{g}=\frac{\partial {v}_{g}}{\partial x}$$
$${r}_{g}=\frac{\partial {v}_{g}}{\partial x}$$
$${r}_{g}=\frac{\partial {v}_{g}}{\partial x}$$

The variations affect only the vertical (q_{g}) and lateral (r_{g}) turbulence angular rates.
Keep in mind that the longitudinal turbulence angular rate spectrum, Φ_{p}(ω), is a rational function. The rational function is derived from curvefitting a complex algebraic function, not the vertical turbulence velocity spectrum, Φ_{w}(ω), multiplied by a scale factor. Because the turbulence angular rate spectra contribute less to the aircraft gust response than the turbulence velocity spectra, it may explain the variations in their definitions.
The variations lead to the following combinations of vertical and lateral turbulence angular rate spectra:
Vertical  Lateral 

Φ_{q}(ω) Φ_{q}(ω) −Φ_{q}(ω)  −Φ_{r}(ω) Φ_{r}(ω) Φ_{r}(ω) 
To generate a signal with the correct characteristics, a unit variance, bandlimited white noise signal is used in the digital filter finite difference equations.
The following table displays the digital filter finite difference equations:
MILF8785C  MILHDBK1797 and MILHDBK1797B  

Longitudinal  
$${u}_{g}$$

$$\left(1\frac{V}{{L}_{u}}T\right){u}_{g}+\sqrt{2\frac{V}{{L}_{u}}T}\frac{{\sigma}_{u}}{{\sigma}_{\eta}}\eta {\text{\hspace{0.05em}}}_{1}$$

$$\left(1\frac{V}{{L}_{u}}T\right){u}_{g}+\sqrt{2\frac{V}{{L}_{u}}T}\frac{{\sigma}_{u}}{{\sigma}_{\eta}}\eta {\text{\hspace{0.05em}}}_{1}$$
 
$${p}_{g}$$

$$\begin{array}{l}\left(1\frac{2.6}{\sqrt{{L}_{w}b}}T\right){p}_{g}+\\ \\ \left(\sqrt{2\frac{2.6}{\sqrt{{L}_{w}b}}T}\right)\left(\frac{0.95}{\frac{\sqrt[3]{2{L}_{w}{b}^{2}}}{{\sigma}_{\eta}}{\eta}_{4}}\right){\sigma}_{w}\end{array}$$
 MILHDBK1797
$$\begin{array}{l}\left(1\frac{2.6}{\sqrt{2{L}_{w}b}}T\right){p}_{g}+\\ \\ \left(\sqrt{2\frac{2.6}{\sqrt{2{L}_{w}b}}T}\right)\left(\frac{1.9}{\frac{\sqrt{2{L}_{w}b}}{{\sigma}_{\eta}}{\eta}_{4}}\right){\sigma}_{w}\end{array}$$
 
MILHDBK1797B
$$\begin{array}{l}\left(1\frac{2.6V}{\sqrt{2{L}_{w}b}}T\right){p}_{g}+\\ \\ \left(\sqrt{2\frac{2.6V}{\sqrt{2{L}_{w}b}}T}\right)\left(\frac{1.9}{\frac{\sqrt{2{L}_{w}b}}{{\sigma}_{\eta}}{\eta}_{4}}\right){\sigma}_{w}\end{array}$$
 
Lateral  
$${v}_{g}$$

$$\left(1\frac{V}{{L}_{v}}T\right){v}_{g}+\sqrt{2\frac{V}{{L}_{v}}T}\frac{{\sigma}_{v}}{{\sigma}_{\eta}}\eta {\text{\hspace{0.05em}}}_{2}$$

$$\left(1\frac{V}{{L}_{v}}T\right){v}_{g}+\sqrt{2\frac{V}{{L}_{v}}T}\frac{{\sigma}_{v}}{{\sigma}_{\eta}}\eta {\text{\hspace{0.05em}}}_{2}$$
 
$${r}_{g}$$

$$\left(1\frac{\pi V}{3b}T\right){r}_{g}\mp \frac{\pi}{3b}\left({v}_{g}{v}_{g}{}_{{}_{past}}\right)$$

$$\left(1\frac{\pi V}{3b}T\right){r}_{g}\mp \frac{\pi}{3b}\left({v}_{g}{v}_{g}{}_{{}_{past}}\right)$$
 
Vertical  
$${w}_{g}$$

$$\left(1\frac{V}{{L}_{w}}T\right){w}_{g}+\sqrt{2\frac{V}{{L}_{w}}T}\frac{{\sigma}_{w}}{{\sigma}_{\eta}}\eta {\text{\hspace{0.05em}}}_{3}$$

$$\left(1\frac{V}{{L}_{w}}T\right){w}_{g}+\sqrt{2\frac{V}{{L}_{w}}T}\frac{{\sigma}_{w}}{{\sigma}_{\eta}}\eta {\text{\hspace{0.05em}}}_{3}$$
 
$${q}_{g}$$

$$\left(1\frac{\pi V}{4b}T\right){q}_{g}\pm \frac{\pi}{4b}\left({w}_{g}{w}_{g}{}_{{}_{past}}\right)$$

$$\left(1\frac{\pi V}{4b}T\right){q}_{g}\pm \frac{\pi}{4b}\left({w}_{g}{w}_{g}{}_{{}_{past}}\right)$$

Divided into two distinct regions, the turbulence scale lengths and intensities are functions of altitude.
LowAltitude Model (Altitude < 1000 feet)
According to the military references, the turbulence scale lengths at low altitudes, where h is the altitude in feet, are represented in the following table:
MILF8785C  MILHDBK1797 and MILHDBK1797B 

$$\begin{array}{l}{L}_{w}=h\\ {L}_{u}={L}_{v}=\frac{h}{{\left(0.177+0.000823h\right)}^{1.2}}\end{array}$$

$$\begin{array}{l}2{L}_{w}=h\\ {L}_{u}=2{L}_{v}=\frac{h}{{\left(0.177+0.000823h\right)}^{1.2}}\end{array}$$

The turbulence intensities are given below, where W_{20} is the wind speed at 20 feet (6 m). Typically for light turbulence, the wind speed at 20 feet is 15 knots; for moderate turbulence, the wind speed is 30 knots, and for severe turbulence, the wind speed is 45 knots.
$$\begin{array}{l}{\sigma}_{w}=0.1{W}_{20}\\ \frac{{\sigma}_{u}}{{\sigma}_{w}}=\frac{{\sigma}_{v}}{{\sigma}_{w}}=\frac{1}{{\left(0.177+0.000823h\right)}^{0.4}}\end{array}$$
The turbulence axes orientation in this region is defined as follows:
Longitudinal turbulence velocity, u_{g}, aligned along the horizontal relative mean wind vector
Vertical turbulence velocity, w_{g}, aligned with vertical.
At this altitude range, the output of the block is transformed into body coordinates.
Medium/High Altitudes (Altitude > 2000 feet)
For medium to high altitudes the turbulence scale lengths and intensities are based on the assumption that the turbulence is isotropic. In the military references, the scale lengths are represented by the following equations:
MILF8785C  MILHDBK1797 and MILHDBK1797B 

L _{u } = L _{v } = L _{w} = 1750 ft  L _{u } = 2 L _{v } = 2 L _{w} = 1750 ft 
The turbulence intensities are determined from a lookup table that provides the turbulence intensity as a function of altitude and the probability of the turbulence intensity being exceeded. The relationship of the turbulence intensities is represented in the following equation: σ_{u} = σ_{v} = σ_{w}.
The turbulence axes orientation in this region is defined as being aligned with the body coordinates.
Between Low and Medium/High Altitudes (1000 feet < Altitude < 2000 feet)
At altitudes between 1000 feet and 2000 feet, the turbulence velocities and turbulence angular rates are determined by linearly interpolating between the value from the low altitude model at 1000 feet transformed from mean horizontal wind coordinates to body coordinates and the value from the high altitude model at 2000 feet in body coordinates.
References
[1] U.S. Military Handbook MILHDBK1797B, April 9, 2012.
[2] U.S. Military Handbook MILHDBK1797, December 19, 1997.
[3] U.S. Military Specification MILF8785C, November 5, 1980.
[4] Chalk, Charles, T.P. Neal, T.M. Harris, Francis E. Pritchard, and Robert J. Woodcock. "Background Information and User Guide for MILF8785B(ASG), Military SpecificationFlying Qualities of Piloted Airplanes." AD869856. Buffalo, NY: Cornell Aeronautical Laboratory, August 1969.
[5] Hoblit, Frederic M., Gust Loads on Aircraft: Concepts and Applications. Reston, VA: AIAA Education Series, 1988.
[6] Ly, U., Chan, Y. "TimeDomain Computation of Aircraft Gust Covariance Matrices," AIAA Paper 801615. Presented at the Atmospheric Flight Mechanics Conference, Danvers, Massachusetts, August 1113, 1980.
[7] McRuer, D., Ashkenas, I., Graham, D., Aircraft Dynamics and Automatic Control. Princeton: Princeton University Press, July 1990.
[8] Moorhouse, David J. and Robert J. Woodcock. "Background Information and User Guide for MILF8785C, `Military SpecificationFlying Qualities of Piloted Airplanes'." ADA119421, Flight Dynamic Laboratory, July 1982.
[9] McFarland, R. "A Standard Kinematic Model for Flight Simulation at NASAAmes." NASA CR2497. Computer Sciences Corporation, January 1975.
[10] Tatom, Frank B., Stephen R. Smith, and George H. Fichtl. "Simulation of Atmospheric Turbulent Gusts and Gust Gradients." AIAA Paper 810300, Aerospace Sciences Meeting, St. Louis, MO, January 1215, 1981.
[11] Yeager, Jessie, "Implementation and Testing of Turbulence Models for the F18HARV Simulation." NASA CR1998206937. Hampton, VA: Lockheed Martin Engineering & Sciences, March 1998.
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.
Version History
Introduced before R2006a
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
 América Latina (Español)
 Canada (English)
 United States (English)
Europe
 Belgium (English)
 Denmark (English)
 Deutschland (Deutsch)
 España (Español)
 Finland (English)
 France (Français)
 Ireland (English)
 Italia (Italiano)
 Luxembourg (English)
 Netherlands (English)
 Norway (English)
 Österreich (Deutsch)
 Portugal (English)
 Sweden (English)
 Switzerland
 United Kingdom (English)