


% -*- texinfo -*-
% @deftypefn {Function File} {} hinfdemo
%
% @iftex
% @tex
% $ { \cal H }_\infty $
% @end tex
% @end iftex
% @ifinfo
% H-infinity
% @end ifinfo
% design demos for continuous @acronym{SISO} and @acronym{MIMO} systems and a
% discrete system. The @acronym{SISO} system is difficult to control because
% it is non-minimum-phase and unstable. The second design example
% controls the @command{jet707} plant, the linearized state space model of a
% Boeing 707-321 aircraft at @var{v}=80 m/s
% @iftex
% @tex
% ($M = 0.26$, $G_{a0} = -3^{\circ}$, ${\alpha}_0 = 4^{\circ}$, ${\kappa}= 50^{\circ}$).
% @end tex
% @end iftex
% @ifinfo
% (@var{M} = 0.26, @var{Ga0} = -3 deg, @var{alpha0} = 4 deg, @var{kappa} = 50 deg).
% @end ifinfo
% Inputs: (1) thrust and (2) elevator angle
% Outputs: (1) airspeed and (2) pitch angle. The discrete system is a
% stable and second order.
%
% @table @asis
% @item @acronym{SISO} plant:
%
% @iftex
% @tex
% $$ G(s) = { s-2 \over (s+2) (s-1) } $$
% @end tex
% @end iftex
% @ifinfo
% @example
% @group
% s - 2
% G(s) = --------------
% (s + 2)(s - 1)
% @end group
% @end example
% @end ifinfo
%
% @smallexample
% @group
%
% +----+
% -------------------->| W1 |---> v1
% z | +----+
% ----|-------------+
% | |
% | +---+ v y +----+
% u *--->| G |--->O--*-->| W2 |---> v2
% | +---+ | +----+
% | |
% | +---+ |
% -----| K |<-------
% +---+
% @end group
% @end smallexample
%
% @iftex
% @tex
% $$ { \rm min } \Vert T_{vz} \Vert _\infty $$
% @end tex
% @end iftex
% @ifinfo
% @example
% min | T |
% vz infty
% @end example
% @end ifinfo
%
% @var{W1} und @var{W2} are the robustness and performance weighting
% functions.
%
% @item @acronym{MIMO} plant:
% The optimal controller minimizes the
% @iftex
% @tex
% $ { \cal H }_\infty $
% @end tex
% @end iftex
% @ifinfo
% H-infinity
% @end ifinfo
% norm of the
% augmented plant @var{P} (mixed-sensitivity problem):
% @smallexample
% @group
% w
% 1 -----------+
% | +----+
% +---------------------->| W1 |----> z1
% w | | +----+
% 2 ------------------------+
% | | |
% | v +----+ v +----+
% +--*-->o-->| G |-->o--*-->| W2 |---> z2
% | +----+ | +----+
% | |
% ^ v
% u y (to K)
% (from controller K)
% @end group
% @end smallexample
%
% @iftex
% @tex
% $$ \left [ \matrix{ z_1 \cr
% z_2 \cr
% y } \right ] =
% P \left [ \matrix{ w_1 \cr
% w_2 \cr
% u } \right ] $$
% @end tex
% @end iftex
% @ifinfo
% @smallexample
% @group
% + + + +
% | z | | w |
% | 1 | | 1 |
% | z | = [ P ] * | w |
% | 2 | | 2 |
% | y | | u |
% + + + +
% @end group
% @end smallexample
% @end ifinfo
%
% @item Discrete system:
% This is not a true discrete design. The design is carried out
% in continuous time while the effect of sampling is described by
% a bilinear transformation of the sampled system.
% This method works quite well if the sampling period is ``small''
% compared to the plant time constants.
%
% @item The continuous plant:
% @iftex
% @tex
% $$ G(s) = { 1 \over (s+2)(s+1) } $$
% @end tex
% @end iftex
%
% @ifinfo
% @example
% @group
% 1
% G (s) = --------------
% k (s + 2)(s + 1)
%
% @end group
% @end example
% @end ifinfo
%
% is discretised with a @acronym{ZOH} (Sampling period = @var{Ts} = 1 second):
% @iftex
% @tex
% $$ G(z) = { 0.199788z + 0.073498 \over (z - 0.36788) (z - 0.13534) } $$
% @end tex
% @end iftex
% @ifinfo
% @example
% @group
%
% 0.199788z + 0.073498
% G(z) = --------------------------
% (z - 0.36788)(z - 0.13534)
% @end group
% @end example
% @end ifinfo
%
% @smallexample
% @group
%
% +----+
% -------------------->| W1 |---> v1
% z | +----+
% ----|-------------+
% | |
% | +---+ v +----+
% *--->| G |--->O--*-->| W2 |---> v2
% | +---+ | +----+
% | |
% | +---+ |
% -----| K |<-------
% +---+
% @end group
% @end smallexample
% @iftex
% @tex
% $$ { \rm min } \Vert T_{vz} \Vert _\infty $$
% @end tex
% @end iftex
% @ifinfo
% @example
% min | T |
% vz infty
% @end example
% @end ifinfo
% @var{W1} and @var{W2} are the robustness and performance weighting
% functions.
% @end table
% @end deftypefn