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

Difference between revisions of "All pass system"

m
m (typo)
Line 12: Line 12:
   
 
This procedural benchmark generates an all-pass SISO system based on <ref name="Obe87"/>.
 
This procedural benchmark generates an all-pass SISO system based on <ref name="Obe87"/>.
For an all-pass system, the trasfer function has the property <math>g(s)g(-s) = \sigma^2</math>, <math>\sigma > 0</math>,
+
For an all-pass system, the transfer function has the property <math>g(s)g(-s) = \sigma^2</math>, <math>\sigma > 0</math>,
 
or (equivalently) the controllability and observability Gramians are quasi inverse to each other: <math>W_C W_O = \sigma I</math>,
 
or (equivalently) the controllability and observability Gramians are quasi inverse to each other: <math>W_C W_O = \sigma I</math>,
 
which means this system has a singular Hankel singular value of multiplicity of the system's order.
 
which means this system has a singular Hankel singular value of multiplicity of the system's order.

Revision as of 14:59, 14 March 2022

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