Accelerating the pace of engineering and science

# mixsyn

H mixed-sensitivity synthesis method for robust control loopshaping design

## Syntax

```[K,CL,GAM,INFO]=mixsyn(G,W1,W2,W3)
[K,CL,GAM,INFO]=mixsyn(G,W1,W2,W3,KEY1,VALUE1,KEY2,VALUE2,...)
```

## Description

[K,CL,GAM,INFO]=mixsyn(G,W1,W2,W3) computes a controller K that minimizes the H norm of the closed-loop transfer function the weighted mixed sensitivity

${T}_{y1u1}\triangleq \left[\begin{array}{c}{W}_{1}S\\ {W}_{2}R\\ {W}_{3}T\end{array}\right]$

where S and T are called the sensitivity and complementary sensitivity, respectively and S, R and T are given by

$\begin{array}{c}S={\left(}^{I}\\ R=K{\left(}^{I}\\ T=GK{\left(}^{I}\end{array}$

Closed-loop transfer function Ty1u1 for mixed sensitivity mixsyn.

The returned values of S, R, and T satisfy the following loop shaping inequalities:

where γ = GAM. Thus, W1, W3 determine the shapes of sensitivity S and complementary sensitivity T. Typically, you would choose W1 to be small inside the desired control bandwidth to achieve good disturbance attenuation (i.e., performance), and choose W3 to be small outside the control bandwidth, which helps to ensure good stability margin (i.e., robustness).

For dimensional compatibility, each of the three weights W1, W2 and W3 must be either empty, scalar (SISO) or have respective input dimensions NY, NU, and NY where G is NY-by-NU. If one of the weights is not needed, you may simply assign an empty matrix []; e.g., P = AUGW(G,W1,[],W3) is SYS but without the second row (without the row containing W2).

## Examples

expand all

### Loop Shaping with mixsyn

This example shows the use of mixsyn for sensitivity and complementary sensitivity loop shaping.

```s = zpk('s');
G = (s-1)/(s+1)^2;
W1 = 0.1*(s+100)/(100*s+1);
W2 = 0.1;
[K,CL,GAM] = mixsyn(G,W1,W2,[]);
L = G*K;
S = inv(1+L);
T = 1-S;
sigma(S,'g',T,'r',GAM/W1,'g-.',GAM*G/ss(W2),'r-.')
legend('S','T','GAM/W1','GAM*G/ss(W2)','Location','SouthWest')
```

The mixsyn command shapes the singular values of S and T to conform to GAM/W1 and GAM*G/W2, respectively.

## Limitations

The transfer functions G, W1, W2 and W3 must be proper, i.e., bounded as s → ∞ or, in the discrete-time case, as z → ∞. Additionally, W1, W2 and W3 should be stable. The plant G should be stabilizable and detectable; else, P will not be stabilizable by any K.

expand all

### Algorithms

[K,CL,GAM,INFO]=mixsyn(G,W1,W2,W3,KEY1,VALUE1,KEY2,VALUE2,...)

is equivalent to

```[K,CL,GAM,INFO]=...
hinfsyn(augw(G,W1,W2,W3),KEY1,VALUE1,KEY2,VALUE2,...).
```

mixsyn accepts all the same key value pairs as hinfsyn.