12
$\begingroup$

Lets assume we have a system model:

tf = TransferFunctionModel[{{
     (s^3 - 2.841 s^2 + 2.875 s - 1.004)/
      (s^3 - 2.417 s^2 + 2.003 s - 0.5488)}}, s];
ss = StateSpaceModel[tf]

enter image description here

My question is:

How to calculate $H_2$ and $H_\infty$ norms of this system or transfer function? Is there a built-in function for it?

Some notes:

  • In MATLAB norm(ss,2) or norm(ss,inf) does that.
  • Mathematical calculations can be done as in this link.

From the LyapunovSolve examples one can compute the $H_2$ norm of an asymptotically stable continuous-time system as below:

{a, b, c} = {{{-1, 2, 3}, {0, -2, 2}, {0, 0, -3}},
             {{1, 1}, {1, 1}, {1, 1}},
             {{1, 1, 1}, {1, 1, 1}}};

x = LyapunovSolve[a, -b.Transpose[b]];
h2norm = Sqrt[Tr[c.x.Transpose[c]]] // N

6.12917

$\endgroup$

1 Answer 1

11
$\begingroup$

The $H_2$ norm can be computed as $\sqrt{\text{Trace}\left(b q b^{\dagger}\right)}$ or $\sqrt{\text{Trace}\left(c p c^{\dagger}\right)}$. Here $b$ and $c$ are the input and output matrices of $ss$, and $q$ and $p$ are the observability and controllability gramians.

However if you tried ObservabilityGramian[ss] there is an error because this particular system is unstable and hence its $H_2$ norm is $\infty$.

The $H_{\infty }$ norm can be obtained from the peak value of the the SingularValuePlot (or magnitude plot in BodePlot).

SingularValuePlot[tf]

This turns out to be $\sim 5.2 db$ for this system.

enter image description here

(Unfortunately, no built-in functions yet for the norm computations.)

$\endgroup$
3
  • $\begingroup$ what kind of transpose/inverse is it? $\endgroup$
    – Zero
    Aug 22, 2016 at 20:09
  • $\begingroup$ ConjugateTranspose $\endgroup$ Aug 22, 2016 at 20:18
  • 1
    $\begingroup$ This is quite of a lack in the available functionalities. $\endgroup$ Oct 5, 2023 at 10:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.