Anonymous
×
Create a new article
Write your page title here:
We currently have 105 articles on MOR Wiki. Type your article name above or click on one of the titles below and start writing!



MOR Wiki
Revision as of 14:59, 14 March 2022 by Mitchell (talk | contribs) (typo)

Under Construction.png Note: This page has not been verified by our editors.


Description

This procedural benchmark generates an all-pass SISO system based on [1]. For an all-pass system, the transfer function has the property g(s)g(-s) = \sigma^2, \sigma > 0, or (equivalently) the controllability and observability Gramians are quasi inverse to each other: W_C W_O = \sigma I, which means this system has a singular Hankel singular value of multiplicity of the system's order. The system matrices are constructing based on the scheme:


\begin{align}
A &= \begin{pmatrix} a_{1,1} & -\alpha_1 \\
                      \alpha_1 & 0 & -\alpha_2 \\
                       & \ddots & \ddots & \ddots \\
                       & & \alpha_{N-1} & 0 & -\alpha_{N-1} \end{pmatrix}, \\
B &= \begin{pmatrix} b_1 \\ 0 \\ \vdots \\ 0 \end{pmatrix}, \\
C &= \begin{pmatrix} s_1 b_1 & 0 & \dots & 0 \end{pmatrix}, \\
D &= -s_1 \sigma. 
\end{align}

We choose s_1 \in \{-1,1\}, to be s_1 \equiv -1, as this makes the system state-space-anti-symmetric. Furthermore, b_1 = 1 and \sigma_1 = 1, which makes a_{1,1} = -\frac{b_1^2}{2 \sigma} = -\frac{1}{2}.

Data

This benchmark is procedural and the state dimensions can be chosen. Use the following MATLAB code to generate a random system as described above:


function [A,B,C,D] = allpass(N)
% allpass (all-pass system)
% by Christian Himpe, 2020
% released under BSD 2-Clause License
%*

    A = gallery('tridiag',N,-1,0,1);
    A(1,1) = -0.5;
    B = sparse(1,1,1,N,1);
    C = -B';
    D = 1;
end

The function call requires one argument; the number of states N. The return value consists of four matrices; the system matrix A, the input matrix B, the output matrix C, and the feed-through matrix D.

[A,B,C,D] = allpass(N);

Dimensions


\begin{array}{rcl}
\dot{x}(t) &=& Ax(t) + Bu(t) \\
y(t) &=& Cx(t) + Du(t)
\end{array}

System dimensions:

A \in \mathbb{R}^{N \times N}, B \in \mathbb{R}^{N \times 1}, C \in \mathbb{R}^{1 \times N}, D \in \mathbb{R}.

Citation

To cite this benchmark, use the following references:

  • For the benchmark itself and its data:
The MORwiki Community, All-Pass System. MORwiki - Model Order Reduction Wiki, 2020. http://modelreduction.org/index.php/All_pass_system
@MISC{morwiki_allpass,
  author =       {{The MORwiki Community}},
  title =        {All-Pass System},
  howpublished = {{MORwiki} -- Model Order Reduction Wiki},
  url =          {http://modelreduction.org/index.php/All_pass_system},
  year =         {2020}
}

References