Skip to main content
Home
SMAC - Systems Modeling Analysis and Control

Navigation principale

  • Home
  • Modeling
  • Analysis
  • Control
  • Aerospace Benchmarks

Breadcrumb

  1. Home

Routine mulb_nreal

Compute (skew-)$\mu$ lower bounds for real perturbations.

Description

This routine computes (skew-)$\mu$ lower bounds for an interconnection between a nominal LTI system $M(s)$ and a block-diagonal operator $\Delta=diag\left(\Delta_1,\dots,\Delta_N\right)$, where $\Delta_i=\delta_iI_{n_i}$ and $\delta_i$ is real. At each point of a rough frequency grid, a power algorithm is run on a regularized problem and a series of LP problems is solved starting from the real part $\Delta_R$ of the resulting destabilizing perturbation (which usually brings the interconnection close to instability). The considered stability region can be bounded either by the imaginary axis or by a truncated sector.

Image
stab2

Note: The aim is not to compute a (skew-)$\mu$ lower bound as a function of frequency, but to compute a lower bound over the whole frequency range. The frequency at which the interconnection becomes unstable is left free during the optimization and can be very far from the initial one. Thus, a rough initial grid is usually sufficient to capture the most critical frequencies.

Syntax

[lbnd,wc,pert,tab]=mulb_nreal(sys,blk{,options})

Input arguments

The first two input arguments are mandatory:

sysLTI object describing the nominal system $M(s)$.
blk

Matrix defining the structure of the block-diagonal operator $\Delta=diag\left(\Delta_1,...,\Delta_N\right)$. Its first 2 columns must be defined as follows for all $i=1,...,N$:

  • blk(i,1:2)=[-ni 0] $\Rightarrow$ $\Delta_i=\delta_iI_{n_i}$ with $\delta_i$ real.

A third column can be used to specify skew uncertainties:

  • blk(i,3)=0 $\Rightarrow$ $\overline{\sigma}(\Delta_i)\le 1$,
  • blk(i,3)=1 $\Rightarrow$ $\overline{\sigma}(\Delta_i)\le 1/$lbnd, where lbnd is maximized.

If none, blk(i,3) is set to 1 for all $i=1,...,N$.

The third input argument options is an optional structured variable with fields:

freqFrequency interval $\Omega$ in rad/s on which the lower bound is to be computed. The default value is options.freq=[0 10*max(abs(eig(sys)))].
gridFrequency grid in rad/s ($1\times m$ array). It can also be a negative integer -$m$, in which case a $m$-point grid is automatically generated from $\Omega$. The default value is options.grid=-10.
sectorVector $[\alpha\ \xi]$ or $[\alpha\ \xi\ \omega_c]$ characterizing the considered truncated sector (see display_sector for a complete description). The default value is options.sector=[0 0], which means that the left half plane is considered.
targetThe algorithm is interrupted if a lower bound is found which is greater than options.target. The default value is options.target=Inf.
epsilonA (skew-)$\mu$ lower bound $\tilde{\mu}$ is acceptable if a perturbation $\tilde{\Delta}$ of norm 1/$\tilde{\mu}$ and a frequency $\omega_c$ are found, which satisfy $|\mbox{det}(I-M(j\omega_c)\tilde{\Delta})|<\epsilon$, where $M(j\omega_c)$ is the frequency response of $M(s)$ at $j\omega_c$ (or at the corresponding point on the boundary of the truncated sector defined by options.sector). The default value is options.epsilon=1e-8.
traceTrace of execution. The default value is options.trace=1.
warnWarnings display. The default value is options.warn=1.
method

Type of LP problem:

  • If options.method=1, the scalar $\alpha$ is increased or decreased until the interconnection between $M(s)$ and $\alpha\Delta_R$ is marginally stable.
  • If options.method=2, the eigenvalue of the interconnection between $M(s)$ and $\Delta_R$ is identified, which is the closest to the considered point on the boundary of the stability region. When shifting this eigenvalue toward instability, the infinity norm of the model perturbation $\Delta$ is minimized.

The default value is options.method=2. If this method fails, try to set options.method=1 instead. Note that the variable options.method can also be equal to 3 or 4:

  • Setting options.method=3 is similar to options.method=1, except that only the eigenvalue which is the closest to the considered point on the boundary of the stability region is considered.
  • Setting options.method=4 is similar to options.method=2, except that the two norm of the model perturbation $\Delta$ is minimized. This method is not allowed for skew-$\mu$ problems.
regRegularization to ensure convergence of the power algorithm. The default value is options.reg=0.05, i.e. 5% of complex uncertainty is added.
improveIf nonzero, additional computations are performed to find more accurate $\mu$ lower bounds. The default value is options.improve=0. This optional parameter can only be used for classical $\mu$ problems.

Output arguments

lbndBest (skew-)$\mu$ lower bound on the considered frequency interval $\Omega$.
wcFrequency $\omega_c$ in rad/s for which lbnd has been computed.
pertAssociated destabilizing perturbation $\tilde{\Delta}$: unless lbnd=0, $\mbox{det}(I-M(\omega_c)\tilde{\Delta})\approx 0$, where $M(\omega_c)$ is the frequency response of $M(s)$ at $j\omega_c$ (or at the corresponding point on the boundary of the truncated sector defined by options.sector).
tab

Structured variable with fields:

  • lbnd: other (skew-)$\mu$ lower bounds ($m\times 1$ array).
  • wc: associated frequencies in rad/s ($m\times 1$ array).
  • pert: associated destabilizing perturbations ($n\times n\times m$ array, where $n=\displaystyle\sum_{i=1}^{N}{n_i}$).
  • pb indicates a convergence problem when non-zero ($m\times 1$ array):
    • 1 $\Rightarrow$ the power algorithm did not converge at the corresponding grid point.
    • 2 $\Rightarrow$ the LP problem could not be solved at the corresponding grid point.

Example

System with 46 states and 20 non-repeated real parametric uncertainties:
load flexible_airplane
options.sector=[-0.05 0.01];
[lbnd,wc,pert,tab]=mulb_nreal(sys,blk,options);lbnd
display_sector(options.sector,lft(sys,pert));
check_stab(lft(sys,pert),options.sector)
One of the eigenvalues of the interconnection lies just outside the considered truncated sector.
abs(det(eye(20)-calc_freq_resp(sys,wc,options.sector)*pert))
The value of $\mbox{det}(I-M(\omega_c)\tilde{\Delta})$ is almost equal to 0.

See also

mulb
mulb_1real
mulb_mixed
hinflb_real
gen_grid
display_sector

Reference

[1]G. Ferreres and J-M. Biannic, "Reliable computation of the robustness margin for a flexible transport aircraft", Control Engineering Practice, vol. 9, pp. 1267-1278, 2001.

Navigation

  • Home
  • Modeling
  • Analysis
    • SMART library
      • Download library
      • Getting started
      • Benchmarking
      • List of routines
        • calc_freq_resp
        • check_stab
        • convert_data
        • delta2xi
        • display_sector
        • find_points
        • gen_grid
        • hinflb_real
        • iomargins
        • linconv
        • make_square
        • mubb
        • mubb_mixed
        • mulb
        • mulb_1real
        • mulb_mixed
        • mulb_nreal
        • muub
        • muub_lmi
        • muub_mixed
        • plot_muub
        • quadconv
        • xi2delta
    • IQC library
    • Sedumi-based IQC solver
  • Control
  • Aerospace Benchmarks
ONERA

Systems Control and Flight Dynamics Department
2, avenue Edouard Belin
31055 Toulouse
smac@onera.fr

Flux RSS

Menu du compte de l'utilisateur

  • Log in