% Include symmetrical/asymmetrical state-space matrices if these exist.
% .....................................................................
if answ == 'yr
savecmmnd = [savecmmnd 'Asymm Bsymm Aasym Basym '1;
end
% Include initial condition (working point) if required.
answ2 = input('Inc1ude initial condition to this file (y/n)? ','sf); if answ2 == 'y'
savecmmnd = [savecmmnd 'xinco uaO utO '1;
% |
Include description of flight condition if this is present in |
% |
Matlab workspace, |
% |
................................................................. |
if e~ist(~f1ighttype')== 1
savecmmnd = [savecmmnd 'flighttype '1; end
end
eval(savecmmnd); clear name savecmmnd
end
clear sinput ainput sstate astate s-eng a-eng s-wind a-wind Bs-eng Ba-eng clear Bs-wind Ba-wind Htoo psitoo answ answl answ2
disp('Check current definition of outputvector of the system BEAVER'); disp('(i.e., the meaning of Cbeav and Dbeav). The state-space modelf); disp('{Abeav, Bbeav, Cbeav, Dbeav) can replace the nonlinear model inf); disp('systems which call BEAVER via an S-function block. But rememberf); disp('that this is a small-perturbation model, which uses deviationsf); disp('from nominal inputs, states, and outputs, whereas the nonlinearf); disp('mode1 uses the actual values of these variables.');
disp(") ;
disp( 'READY,' );
$---------------------------------------------------------------
% Program written by Marc Rauw. Version: August 1, 1993.
3 - INCOLOAD. This M-file is a simple load routine, which can be used to retrieve MAT-files from file into the MATLAB workspace. Although this routine has been included for loading initial conditions, saved with ACTRIM, or linearized aircrafi models, saved with ACLIN, it can be used to retrieve arbitrary MAT-files. INCOLOAD can be called by typing incoloud a t the MATLABcommand line, or by double-clicking the h a d initid conditions or models block from the library ACTRIM.
The listing of INCOLOAD is given below:
% INCOLOAD loads MAT-files into the Matlab workspace,
%----------------------------------------------------
disp('Enter path\filename.ext (filename max. 8 characters)'); disp('(without extension, a .MAT file will be loaded):'); disp(") ;
name = input('> ','sf); loadcmmnd = ['load ',name]; eval(1oadcmmnd);
clear name loadcmmnd who
%-------------------------------------------------------------
% Program written by: Marc Rauw, Version: july 2, 1993.
name is the filename (+path) and loadcmmnd contains the actual load command.
;[m/s2]
;[ d s ]
F.3 Models of wind and atmospheric turbulence.
F.3.1 Introduction.
In appendix B, some expressions for wind and atmospheric turbulence were given. These models have been implemented as separate blocks in SIMULINK. Via the Inport blocks for the wind velocities and their time-derivatives, shown in figure F-1, it becomes possible to connect the wind and turbulence models to the system BEAVER. The time derivatives of the wind can be calculated by applying a Derivative block of SIMULINK(see appendix E). The blocks for atmospheric turbulence already calculate the time derivatives of the turbulence velocities themselves.
F.3.2 List of variables, used for the wind and turbulence models.
aO, a l , ...
H
Lug
Lvg
Lwg
a, = denominator coefficients of second (or higher) order filter: b,srZ-l + b,,-l s " - ~+ . . . + b l s + bo
s f + a,&sn-+I . . . + a l s + a o
H = altitude; [ml
Lug= scale length of longitudinal turbulence; [m] Lug= scale length of lateral turbulence; [ml Lwg= scale length of vertical turbulence; [ml
|
K |
K |
= coefficient of first order filter |
K |
|
1 + Z 0 S |
|
|
|
= yaw angle; [rad] |
|
psi |
y |
|
|
psi-w |
yw |
= wind direction (note: y, = 7~ rad if the wind is blowing to the |
|
|
|
north); [rad] |
|
|
sigma-ug |
0,-= standard deviation of longitudinal turbulence; [mls] |
|
sigma-vg |
0,: = standard deviation of lateral turbulence; [mls] |
|
sigma-wg |
o,~ = standard deviation of vertical turbulence; [ d s l |
|
t a u |
|
= coefficient of first order filter |
K |
|
|
|
1 + Z * S
u g |
u |
ugdot |
u, |
UW |
u, |
uwdot |
zi, |
v |
V |
vg |
v, |
vgdot |
v, |
|
=contribution of atmospheric turbulence to u, ;I d s ]
=time derivative of u, ;[m/s2]
=component of wind velocity along X,-axis; [mls]
=time derivative of u, ;[m/s2]
=true airspeed; [m/s]
= contribution of atmospheric turbulence to v, = time derivative of u,
v w |
V, |
= wind velocity ( V, = /-); |
[m/s2] |
VW |
v, |
= component of wind velocity along Y,-axis; |
[m/s] |
vwdot |
v, |
= time derivative of v, ;[m/s21 |
|
|
wg |
w, |
= contribution of atmospheric turbulence to w, ; [ d s l |
wgdot |
w |
= time derivative of w, ; [m/s21 |
|
|
WW |
w, |
= component of wind velocity along 2,-axis; |
[ d s ] |
wwdot |
ww = time derivative of w, ;[m/s21 |
|
|
vw
Vw (const)
psi-w
psi-w (const)
psi [rad]
3 Mux
Mux
vw
Figure F-30. Internal structure of the block CWUW.
WINDLIB
1' |
( |
u |
u |
Mux -+ Wind to |
H profile |
Vw(H) [m/sl |
|
body-axes |
Irn'boundaries 4 |
psi-w(H) |
[rad] |
|
[uwvw ww]l |
|
|
|
psi [rad]
Figure F-31. Internal structure of the block BLWiUVD.
WINDLIB
'K
White Noise
tau.s+l
Figure F-32. Internal structure of the block UDRYD1.
WINDLIB
s*+al .s+aO
White Noise
Figure F-33. Internal structure of the block VDRmI.
F.3.3 Description of the wind and turbulence models and their helpfiles.
Models of wind and atmospheric turbulence have been included in the library WINDLIB. There are two different blocks which can be used to implement steady wind and a wind-profile in the earth's boundary layer respectivily:
CWIND. This block is used to implement wind with constant speed and direction ('C' = constant). With the Mask utility, a dialog-boxwas created, in which the user must enter the windspeed V, and direction y, (note: yw = r if the wind is blowing to the north). The block determines the components of the wind along the aircraft's body-axes. The vertical component w, is assumed to be zero!
On-line help is available by typing help cwind at the MATLABcommand line. See figure F-30 for the internal structure of CWIND.
Inputsignal: |
w |
Outputvector: |
[ u, v, w, ] T (w, 1 0 ) |
BLWIND. This block calculates the components of the windspeed along the aircraft's body-axes in the boundary layer of the earth ('BE = boundary layer). Both the wind velocity and its direction can be defined as functions of altitude. In figure F-31, the wind profile according to equation (B-1) of appendix B is implemented. The direction of the wind is here assumed to be constant.
Type help blwind at the MATLABcommand line for on-line help.
Inputs: |
H,W |
Outputvector: |
[ u, v, w, ] T (w, = 0) |
Time-derivatives of the wind velocity components can be obtained by using a SIMULINKDerivative block from the library LINEAR, which is accurate enough for slowly changing wind velocities I).
The library WINDLIB also contains six blocks for the calculation of turbulence velocities along the three body-axes of the aircraft. The following blocks are available:
1- UDRYDI. Longitudinal Dryden filter with constant coefficients. The user must specify the scale length L, , the standard deviation a, , and the velocity V. On-line help is availabfe from the MATLABcommand line (type help udrydl). See figure F-32 for the internal structure of UDRYDI.
Outputsignals: u, and u,.
The Derivative block approximates the derivative of its input with AulAt, where Au is the change in input value since the previous simulation step, and At is the change in time since the previous simulation timestep. The magnitude of the timesteps must be set to a value small enough for good approximation of the derivative.
Figure F-34. Internal structure of the block UDRYD2.
WINDLIB
7 |
|
+ |
- |
i t 11s |
White Noise |
|
Figure F-35. Internal structure of the block VDRYD2.
VDRYDI. Lateral Dryden filter with constant coefficients. The user must specify the scale length L, ,the standard deviation o, ,and the velocity V. Type help vdrydl a t the ATL LAB command line for bn-line help. Figure F-33 shows the internal structure of VDRYDI.
Outputsignals: vg and v,.
WDRYDl. Vertical Dryden filter with constant coefficients. The user must specify the scale length Lw,the standard deviation ow,and the velocity V. On-line help is available' from the MATLABcommbd line (type help wdrydl). The internal structure of WDRYDl looks similar to the structure of VDRYDl if the subscripts v, are exchanged for w,. See figure F-33.
Outputsignals: w, and ci$
UDRYD2. Longitudinal Dryden filter with coefficients which vary with V. Only L, and a, have to be defined here; the velocity V is used as input signal. I'ype h e b udryd2 at the MATLABcommand line for on-line help. Figure F-34 shows the internal structure of UDRYD2.
Inputsignal: V
Outputsignals: ug and zi,
VDRYD2. Lateral Dryden filter with coefficients which vary with V. The user must specify and o, ,but the airspeed V is used as input signal. Type help vdryd2 at the MAT& command line for on-line help. The internal structure of VDRYD2 is shown in figure F-35.
Inputsignal: V
Outputsignals: vg and v,
WDRYDZ. Vertical Dryden filter with coefficients which vary with V. The user must specify Lw8and ow#,but the airspeed V is now used as input variable. Type help wdryd2 at the MATLABcommand line for on-line help. The internal structure of WDRYD2 looks similar to the structure of VDRYD2, if the subscripts v, are exchanged for w,. See figure F-35.
Inputsignal: V
Outputsignals: w, and w,
For most purposes, the blocks UDRYDI, VDRYDI, and WDRYDl will suffice. Only when the changes in airspeed are very large, it is useful to use UDRYD2, VDRYD2, or WDRYD2 in stead. But remember that the Dryden turbulence filters are approximative anyway! For the 'Beaver', the filters with constant coefficients are good enough, because this aircraft has a very limited speed range. Note that the 'random' sequences of the White Noise blocks are actually reproducable. To make sure that the three turbulence velocities are independent, different values of the initial seeds were used for the different turbulence generators.
F.4 ILS approach and VOR navigation models.
F.4.1 Introduction.
I t is possible to generate navigation signals from ILS and VOR systems within the simulation models, to simulate (automatic) approaches and short-range navigation. A detailed description of the equations which are used to calculate the ILS and VOR signals is included in appendix C. In this section, the ILS and VOR block-library will be presented. A list of all variables, available blocks, and helpfiles for the ILS and VOR models will now be given. The internal structure of each block will be shown and explained.
F.4.2 List of variables, used for the ILS and VOR models.
The following variables appear within programs, helpfiles, block-diagrams, and 'Mask' initialization lines of the ILS and VOR models:
cat
CD
c o s s a m g s cos-psiRW dgs
D-igs
D j l o c
epsilon-gs
gamgs Gammazs
amm ma-~OC
Gamma-VOR
GSflag
H
Hf HRW HVOR igs igs-true
iloc iloc-true
cat |
= |
ILS performance category (cat = 1, 2, or 3 for performance |
CD |
|
category I, 11, or 111 respectively) |
= |
Course Datum = reference VOR bearing (see figure C-11); [radl |
cos(y,)
cos(fiw)
|
d,, |
= distance from aircraft to glideslope reference line, see figure C-9; |
|
in [m] |
|
|
|
Ai,, |
= steady-state offset error in igS,due to a deviation of the nominal |
|
|
glideslope elevation angle (table C-2 and equation (C-7));in [@I |
|
Ai,, |
= steady-state offset error in ibc,if the localizer reference plane is |
|
|
not aligned along the runway centerline (table C-1 and equation |
|
|
(C-1)); in [@I |
|
c, |
see figure C-9; in [rad] |
|
see figure C-9; in [rad] |
|
%s |
|
|
|
r,, |
see figure C-9; in [rad] |
|
,,?I |
see figure C-8; in [radl |
|
r,,, |
= CD - QDR (see figure C-11); in [rad] |
glideslope flag. GSfZag = 0 if the aircraft flies in area where the glideslope signal can be received with appropriate reliability; else, GSflag = 1(see figure C-5)
aircraft altitude above sea level; in [ml aircraft altitude above runway; in [ml altitude of runway above sea level; in [m]
altitude of VOR transmitter above sea level; in [ml
nominal value of current through glideslope indicator; in [ d l actual value of current through glideslope indicator, including steady-state errors and/or noise; in [ d l
nominal value of current through localizer indicator; in [@I actual value of current though localizer indicator, including steady-state errors and/or noise; in [FA]
K |
|
|
K |
gain factor of lst-order transfer function - |
|
|
|
1 + Z S |
KSgs |
correction factor to implement steady-state error in glideslope |
|
sensitivity S,, |
(S,,, = KS,, - S,,) |
KSloc |
correction factor to implement steady-state error in localizer |
|
sensitivity S,, |
(S,,.,,, |
= KS,, S,,) |
Lgs
Lloc
LOCflag
psi psiRW QDR Rgs
Rloc
s i g m a z s sigma-loc sin-p siRW Sloc
t a n z a m g s
K, = correction factor to implement steady-state error in VOR signal
|
= |
('VOR true = K V O ~~V O R ) |
L,, |
scale length for glideslope noise, see equation (C-16); in [m] |
L,, |
= |
scale length for localizer noise, see equation (C-15); in [m] |
localizer flag. LOCflag = 0 if the aircraft flies in area where the localizer signal can be received with appropriate reliability; else, LOCflag = 1(see figure C-3)
y~ = yaw angle; in [rad]
|
vRW= |
heading of the runway (take-off and landing direction); in [rad] |
|
QDR |
= |
VOR bearing where aircraft currently flies (see figure C-11); [rad] |
|
R,, |
= ground distance from aircraft to glideslope antenna (see figure |
|
|
C-9); in [m] |
|
|
= |
|
R,, |
ground distance from aircraft to localizer antenna (see figure |
|
|
|
C-9); in [m] |
|
R,,, |
= ground distance from aircraft to VOR station |
|
S,, |
= |
glideslope sensitivity, see equation (C-8); in [ w a d ] |
|
= standard deviation of glideslope noise; in [pA] |
|
a, |
|
= standard deviation of localizer noise; in [PA] |
|
o, |
|
sin(y& |
|
|
S,, |
= localizer sensitivity, see equation (C-2); in [flrad] |
|
tan(ygs) |
|
t a u |
z |
|
K |
= numerator coefficient of 1"-order transfer hnction - |
|
|
|
1 + Z S |
ToFrom |
To/From indicator. ToFrom = 1if aircraft flies TO the VOR station, and |
|
|
ToFronz = 0 if i t flies FROM the VOR station. |
|
V |
= true airspeed (here: approach speed); in [m/sl |
|
xe |
= aircraft X-coordinate relative to earth-fixed reference frame (see |
|
|
figure C-7 for the definition of F, that is used during ILS |
|
|
approach simulation); in [m] |
|
|
xf |
= aircraft X-coordinate relative t o runway-fixed reference frame |
|
(see figure C-7); in [m] |
|
|
|
|
|
x,, |
= X-coordinate of glideslope transmitter relative to runway-fixed |
|
reference frame (see figures C-1 and C-7); in [ml |
|
|
xloc |
x,, |
= X-coordinate of localizer transmitter relative to runway-fixed |
|
|
reference frame (see figures C-1 and C-7); in [m] |
|
x,, |
= X-coordinate of origin of F,, relative to F, |
|
XVoR |
= X-coordinate of VOR station, relative to FE |
|
ye |
= aircraft Y-coordinate relative to earth-fixed reference frame (see |
|
|
figure C-7 for the definition |
of FE that is used during ILS |
|
|
approach simulation); in [m] |
|
|
yf |
= aircraft Y-coordinate relative |
to runway-fixed reference frame |
|
(see figure C-7); in [ml |
|
|
|
|
|
ygs |
= Y-coordinate of glideslope transmitter, relative to runway-fixed |
|
reference frame (see figures C-1 and C-7); in [m] |
|
|
|
y,, |
= Y-coordinate of origin of F,, relative to FE |
|
yVOR= Y-coordinate of VOR station, relative to FE |
|
z, |
= 2-coordinate of aircraft relative to runway-fixed reference frame |
|
(2, |
= -Hf); in [m] |
|
|
Note: in dialog-boxes where the user must enter the values of some angles, degrees will be used in stead of radians! Radians are used within the equations themselves. To avoid confusion, the unity which has to be used will always be displayed within the dialog-boxes themselves.
The following input and output vectors are used for the ILS and VOR blocks:
uils |
|
yilsl |
|
yils2 |
|
yils3 |
|
yils4 |
|
uvor1 |
|
uvor2 |
|
yvor1 |
|
yvor2 |
|
yvor3 |
-y f . |
yvor4 |
Note: d,, is not included in yi, , because d,, |
F.4.3 Description of the ILS and VOR blocks and helpfiles.
The ILS and VOR blocks are stored in the library NAVLIB, which includes examples to demonstrate the practical use of these blocks. The following ILS blocks are available:
ILS. In this block, the nominal signals are calculated. Also, localizer and glideslope flags will be set if the aircraft flies outside the area where the ILS signals can be received with appropriate accuracy. See section C.2.1 for details. The subsystem ILSTEST is used to calculate the localizer and glideslope flag settings. On-line help is available from the MATLAB command line (type help ils or help ilstest, respectively). The internal structure of ILS is shown in figure F-36. ILSTEST is shown in figure F-37.
The user must specify the position of the origin of the runway-fixed reference frame F, ,which is given by the coordinates xRW,yRw, and the altitude above sea-level HRw Other parameters which must be set are the heading of the runway, yRW,the nominal glide path angle,y ,the distance from the runway treshold to the localizer transmitter, x, ,the X-distance from the runway treshold to the glideslope transmitter, x,, , and the Y- distance from the runway treshold to the glideslope transmitter, y,,.
LOCERR and GSERR. These blocks are used for the calculation of steadystate errors in the localizer and glideslope signals, respectively. The maximum permissible steady-state errors according to ICAO guidelines will be used (see refs.[l], [2], or [I61 and section C.2.2 of appendix C). The user must specify the percentage of the maximum permissible noise that is really needed for the simulation.
Inputsignal: |
il, |
or ,i |
in [FA] (nominal values) |
Outputsignal: |
i,, |
or i,, |
in [PA] (values with steady-state offset errors) |
e
--
--I C
epsilon gs
C |
sqrt(u[2IA2+ (xioc - u[1])"2) |
1I |
|
Rloc |
C
|
I |
|
rM u x . |
ILS coverage |
|
-- |
test (LOC & GS) |
|
|
ILStest |
yils4 |
|
|
Figure F-36. Internal structure of the block ILS.
NAVWB
OC flaq
u[1]>0 1GS f l a ~ - |
jlOC-flag ; |
GS-f lag] |
Figure F-37. Internal structure of the block ILSTEST.