The subsystem ILS example from the library NAVLIB demonstrates how to combine the different ILS blocks in one subsystem. First, the nominal signals are computed in the block ILS (Nominal ILS values). Then, the steady-state errors are added (blocks GSerr and LOCerr), and finally glideslope noise and localizer noise are added (blocks GSnoise and LOCnoise). Double-clicking the block ILS example will reveal this internal structure. NAVLIB also includes a variant of this subsystem without the ILS noise.
Note: the block ILS and the error blocks need to be double-clicked too in order to specify their parameters. See the references below for more information about the block-parameters.
A slightly different version of the noiseless variant is used in the system APILOT2, while a slightly different version that includes noise is used in the system APILOT3 (the difference being altered I/O definitions, and the addition of differentiating filters to compute the time-derivatives of the glideslope and localizer signals).
x = [V alpha beta p q r psi theta phi xe ye H]' (aircraft states) {V : airspeed [m/s] } {alpha: angle of attack [rad] } {beta : sideslip angle [rad] } {p : roll rate [rad/s] } {q : pitch rate [rad/s] } {r : yaw rate [rad/s] } {psi : yaw angle [rad] } {theta: pitch angle [rad] } {phi : roll angle [rad] } xe : x-coordinate in Earth-fixed reference frame [m] ye : y-coordinate [m] H : altitude above sea-level [m]
Note: these inputvariables are usually extracted from a nonlinear aircraft model. The block ILS computes the nominal values of the ILS signals, using the actual aircraft position. Therefore it does not give correct results whenever a small-deviations model is used for the aircraft dynamics! The Beaver system is a good example of this type of nonlinear aircraft model.
epsilon_gs_true : true value of the glideslope deviation = nominal value + + steady-state error + glideslope noise, [rad] Gamma_loc_true: true value of the localizer deviation = nominal value + + steady-state error + localizer noise, [rad] 'glideslope deviation' = the angle between the line from the aircraft's center of gravity to the glideslope antenna, and the line of the nominal glide path 'localizer deviation' = the angle between the ground-projection of the line from the aircraft's center of gravity to the localizer antenna, and the extended runway centerline, [rad]
The noise and error models are according to the references given at the end of this page.
During simulations, the time-trajectories of the nominal ILS signals and several interim results from the block ILS are sent to the matrix yils in the Matlab workspace. Each row from this matrix corresponds with the vector yils_workspace at a certain time t, according the following definition (notice the difference between the workspace variable yils and the Simulink vector yils within ILS example):
yils_workspace = [yils1; yils2; yils3; yils4]' yils1 = [igs iloc]' yils2 = [epsilon_gs Gamma_loc]' yils3 = [xf yf Hf dgs Rgs Rloc]' yils4 = [LOC_flag GS_flag]' igs : nominal localizer current, [micro-Ampere] iloc : nominal glideslope current, [micro-Ampere] epsilon_gs: angle between line from the aircraft's c.g. to the glideslope antenna and nominal glide path, [rad] Gamma_loc : angle between ground-projection of line from the aircraft's c.g. to the localizer antenna, and the extended runway centerline, [rad] xf : X-coordinate of aircraft in runway-fixed reference frame XF-YF-ZF, [m] yf : Y-coordinate of aircraft in runway-fixed reference frame XF-YF-ZF, [m] Hf : altitude of aircraft in runway-fixed reference frame XF-YF-ZF, [m]; Hf = -zf dgs : distance from aircraft's c.g. to nominal glide path, measured perpendicularly to nominal glide path, [m] Rgs : 2D-distance from c.g. of aircraft to glideslope an- tenna (as seen from above), [m] Rloc : 2D-distance from c.g. of aircraft to localizer an- tenna (as seen from above), [m] LOC_flag : flag which is set to one if localizer signal cannot be received with appropriate accuracy, else, LOC_flag = 0 GS_flag : flag which is set to one if glideslope signal can- not be received with appropriate accuracy, else, GS_flag = 0
Note: igs is proportional to epsilon_gs, iloc is proportional to Gamma_loc. Both igs and iloc are limited to +/- 150 [micro-Ampere]. For more information about the definitions of the variables, consult the FDC user-manual.
Apart from the FDC user-manual, the following reference contains more information about the ILS signals: