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 "Synthetic parametric model"

m
(Rewritten first sections, added planned sections.)
Line 8: Line 8:
 
[[Category:Sparse]]
 
[[Category:Sparse]]
   
== Description ==
+
==Description==
   
 
<figure id="fig1">[[Image:synth_poles.png|frame|right|border|Poles of synthetic parametric system, for parameter values 1/50 (blue), 1/20 (green), 1/10 (red), 1/5 (teal), 1/2 (purple), 1 (yellow).]]</figure>
On this page you will find a synthetic parametric model for which one can easily experiment with different system orders <math> n </math>, values of the parameter <math>\varepsilon</math>, as well as different poles and residues.
 
   
 
On this page you will find a synthetic parametric model with one parameter for which one can easily experiment with different system orders, values of the parameter, as well as different poles and residues.
Also, the decay of the Hankel singular values can be changed indirectly through the parameter <math> \varepsilon </math>.
+
Also, the decay of the Hankel singular values can be changed indirectly through the parameter.
   
== Model ==
+
===Model===
   
  +
We consider a dynamical system in the frequency domain given by its pole-residue form of the transfer function
The parameter <math>\varepsilon</math> scales the real part of the system poles, that is, <math>p_i=\varepsilon a_i+jb_i \, </math>, with <math> j </math> the imaginary unit.
 
For a system in pole-residue form
 
   
  +
:<math>
  +
\begin{align}
  +
H(s,\varepsilon) & = \sum_{k=1}^{n}\frac{r_{k}}{s-p_{k}}\\
  +
& = \sum_{k=1}^{n}\frac{r_{k}}{s-(\varepsilon a_{k} + jb_{k})},
  +
\end{align}
  +
</math>
   
  +
with <math>p_{k} = \varepsilon a_{k} + jb_{k}</math> the poles of the system, <math>j</math> the imaginary unit, and <math>r_{k}</math> the residues.
:<math> H(s,\varepsilon) = \sum_{i=1}^{n}\frac{r_i}{s-p_i} = \sum_{i=1}^{n}\frac{r_i}{s-(\varepsilon a_i+jb_i)} </math>
 
  +
The parameter <math>\varepsilon</math> is used to scale the real part of the system poles.
 
We can write down the state-space realization of the system's transfer function as
   
  +
:<math>
  +
\begin{align}
  +
H(s,\varepsilon) = \widehat{C}(sI_{n} - (\varepsilon \widehat{A}_{\varepsilon} + \widehat{A}_{0}))^{-1}\widehat{B},
  +
\end{align}
  +
</math>
   
  +
with the corresponding system matrices <math>\widehat{A}_{\varepsilon} \in \mathbb{R}^{n \times n}</math>, <math>\widehat{A}_{0} \in \mathbb{C}^{n \times n}</math>, <math>\widehat{B} \in \mathbb{R}^{n}</math>, and <math>\widehat{C}^{T} \in \mathbb{C}^{n}</math> given by
we can write down the state-space realization
 
   
  +
:<math>
  +
\begin{align}
  +
\varepsilon\widehat{A}_{\varepsilon} + \widehat{A}_{0}
  +
& = \varepsilon \begin{bmatrix} a_{1} & & \\ & \ddots & \\ & & a_{n} \end{bmatrix}
  +
+ \begin{bmatrix} jb_{1} & & \\ & \ddots & \\ & & jb_{n} \end{bmatrix},\\
  +
\widehat{B} & = \begin{bmatrix}1, & \ldots, & 1 \end{bmatrix}^{T},\\
  +
\widehat{C} & = \begin{bmatrix}r_{1}, & \ldots, & r_{n} \end{bmatrix}.
  +
\end{align}
  +
</math>
   
:<math> H(s,\varepsilon) = \widehat{C}\Big(sI-\varepsilon \widehat{A}_\varepsilon - \widehat{A}_0\Big)^{-1}\widehat{B}+D</math>
+
One notices that the system matrices <math>\widehat{A}_{0}</math> and <math>\widehat{C}</math> have complex entries.
 
For rewriting the system with real matrices, we assume that <math>n</math> is even, <math>n=2m</math>, and that all system poles are complex and ordered in complex conjugate pairs, i.e.,
   
  +
:<math>
  +
\begin{align}
  +
p_{1} & = \varepsilon a_{1} + jb_{1},\\
  +
p_{2} & = \varepsilon a_{1} - jb_{1},\\
  +
& \ldots\\
  +
p_{n-1} & = \varepsilon a_{m} + jb_{m},\\
  +
p_{n} & = \varepsilon a_{m} - jb_{m}.
  +
\end{align}
  +
</math>
   
  +
Corresponding to the system poles, also the residues are written in complex conjugate pairs
with system matrices defined as
 
   
  +
:<math>
  +
\begin{align}
  +
r_{1} & = c_{1} + jd_{1},\\
  +
r_{2} & = c_{1} - jd_{1},\\
  +
& \ldots\\
  +
r_{n-1} & = c_{m} + jd_{m},\\
  +
r_n & = c_{m} - jd_{m}.
  +
\end{align}
  +
</math>
   
 
Using this, the realization of the dynamical system can be written with matrices having real entries by
:<math>\varepsilon \widehat{A}_\varepsilon + \widehat{A}_0 = \varepsilon \left[\begin{array}{ccc} a_1 & & \\ & \ddots & \\ & & a_n\end{array}\right] +\left[\begin{array}{ccc} jb_1 & & \\ & \ddots & \\ & & jb_n\end{array}\right] ,</math>
 
   
  +
:<math>
:<math>\widehat{B} = [1,\ldots,1]^T,\quad \widehat{C} = [r_1,\ldots,r_n],\quad D = 0.</math>
 
  +
\begin{align}
  +
A_{\varepsilon} & = \begin{bmatrix} A_{\varepsilon, 1} & & \\ & \ddots & \\ & & A_{\varepsilon, m} \end{bmatrix}, &
  +
A_{0} & = \begin{bmatrix} A_{0, 1} & & \\ & \ddots & \\ & & A_{0, m} \end{bmatrix}, &
  +
B & = \begin{bmatrix} B_{1} \\ \vdots \\ B_{m} \end{bmatrix}, &
  +
C & = \begin{bmatrix} C_{1}, & \cdots, & C_{m} \end{bmatrix},
  +
\end{align}
  +
</math>
   
  +
with <math>A_{\varepsilon, k} = \begin{bmatrix} a_{k} & 0 \\ 0 & a_{k} \end{bmatrix}</math>, <math>A_{0, k} = \begin{bmatrix} 0 & b_{k} \\ -b_{k} & 0 \end{bmatrix}</math>, <math>B_{k} = \begin{bmatrix} 2 \\ 0 \end{bmatrix}</math>, <math>C_{k} = \begin{bmatrix} c_k, & d_k \end{bmatrix}</math>.
   
 
===Numerical Values===
 
Notice that the system matrices have complex entries.
 
 
For simplicity, assume that <math> n </math> is even, <math> n=2k </math>, and that all system poles are complex and ordered in complex conjugate pairs, i.e.
 
 
:<math> p_1 = \varepsilon a_1+jb_1, p_2 = \varepsilon a_1-jb_1, \ldots, p_{n-1} = \varepsilon a_k+jb_k, p_n = \varepsilon a_k-jb_k, </math>
 
 
and the residues also form complex conjugate pairs
 
 
:<math> r_1 = c_1+jd_1, r_2 = c_1-jd_1, \ldots, r_{n-1} = c_k+jd_k, r_n = c_k-jd_k. </math>
 
 
Then a realization with matrices having real entries is given by
 
 
 
:<math> A_\varepsilon = \left[\begin{array}{ccc} A_{\varepsilon,1} & & \\ & \ddots & \\ & & A_{\varepsilon,k}\end{array}\right], \quad A_0 = \left[\begin{array}{ccc} A_{0,1} & & \\ & \ddots & \\ & & A_{0,k}\end{array}\right], \quad B = \left[\begin{array}{c} B_1 \\ \vdots \\ B_k\end{array}\right], \quad C = \left[\begin{array}{ccc} C_1 & \cdots & C_k\end{array}\right], \quad D = 0,</math>
 
 
 
with <math> A_{\varepsilon,i} = \left[\begin{array}{cc} a_i& 0 \\ 0 & a_i \end{array}\right] </math>,
 
<math> A_{0,i} = \left[\begin{array}{cc} 0& b_i \\ -b_i & 0 \end{array}\right] </math>,
 
<math> B_{i} = \left[\begin{array}{c} 2 \\ 0 \end{array}\right] </math>,
 
<math> C_{i} = \left[\begin{array}{cc} c_i& d_i\end{array}\right] </math>.
 
 
== Numerical Values ==
 
   
 
We construct a system of order <math>n = 100</math>. The numerical values for the different variables are
 
We construct a system of order <math>n = 100</math>. The numerical values for the different variables are
Line 97: Line 124:
   
 
:[[Image:synth_freq_resp.png|frame|border|left|Frequency response of synthetic parametric system, for parameter values 1/50 (blue), 1/20 (green), 1/10 (red), 1/5 (teal), 1/2 (purple), 1 (yellow).]]
 
:[[Image:synth_freq_resp.png|frame|border|left|Frequency response of synthetic parametric system, for parameter values 1/50 (blue), 1/20 (green), 1/10 (red), 1/5 (teal), 1/2 (purple), 1 (yellow).]]
[[Image:synth_poles.png|frame|center|border|Poles of synthetic parametric system, for parameter values 1/50 (blue), 1/20 (green), 1/10 (red), 1/5 (teal), 1/2 (purple), 1 (yellow).]]
 
   
   
Line 128: Line 154:
 
[[Image:synth_hsv.png|frame|border|center|Hankel singular values of synthetic parametric system, for parameter values 1/50 (blue), 1/20 (green), 1/10 (red), 1/5 (teal), 1/2 (purple), 1 (yellow).]]
 
[[Image:synth_hsv.png|frame|border|center|Hankel singular values of synthetic parametric system, for parameter values 1/50 (blue), 1/20 (green), 1/10 (red), 1/5 (teal), 1/2 (purple), 1 (yellow).]]
   
  +
==Data==
  +
  +
==Dimensions==
   
  +
==Citation==
   
 
==Contact==
 
==Contact==

Revision as of 22:38, 5 April 2018


Description

Poles of synthetic parametric system, for parameter values 1/50 (blue), 1/20 (green), 1/10 (red), 1/5 (teal), 1/2 (purple), 1 (yellow).

On this page you will find a synthetic parametric model with one parameter for which one can easily experiment with different system orders, values of the parameter, as well as different poles and residues. Also, the decay of the Hankel singular values can be changed indirectly through the parameter.

Model

We consider a dynamical system in the frequency domain given by its pole-residue form of the transfer function


 \begin{align}
   H(s,\varepsilon) & = \sum_{k=1}^{n}\frac{r_{k}}{s-p_{k}}\\
   & = \sum_{k=1}^{n}\frac{r_{k}}{s-(\varepsilon a_{k} + jb_{k})},
 \end{align}

with p_{k} = \varepsilon a_{k} + jb_{k} the poles of the system, j the imaginary unit, and r_{k} the residues. The parameter \varepsilon is used to scale the real part of the system poles. We can write down the state-space realization of the system's transfer function as


 \begin{align}
   H(s,\varepsilon) = \widehat{C}(sI_{n} - (\varepsilon \widehat{A}_{\varepsilon} + \widehat{A}_{0}))^{-1}\widehat{B},
 \end{align}

with the corresponding system matrices \widehat{A}_{\varepsilon} \in \mathbb{R}^{n \times n}, \widehat{A}_{0} \in \mathbb{C}^{n \times n}, \widehat{B} \in \mathbb{R}^{n}, and \widehat{C}^{T} \in \mathbb{C}^{n} given by


 \begin{align}
   \varepsilon\widehat{A}_{\varepsilon} + \widehat{A}_{0}
     & = \varepsilon \begin{bmatrix} a_{1} & & \\ & \ddots & \\ & & a_{n} \end{bmatrix}
     + \begin{bmatrix} jb_{1} & & \\ & \ddots & \\ & & jb_{n} \end{bmatrix},\\
   \widehat{B} & = \begin{bmatrix}1, & \ldots, & 1 \end{bmatrix}^{T},\\
   \widehat{C} & = \begin{bmatrix}r_{1}, & \ldots, & r_{n} \end{bmatrix}.
 \end{align}

One notices that the system matrices \widehat{A}_{0} and \widehat{C} have complex entries. For rewriting the system with real matrices, we assume that n is even, n=2m, and that all system poles are complex and ordered in complex conjugate pairs, i.e.,


 \begin{align}
   p_{1} & = \varepsilon a_{1} + jb_{1},\\
   p_{2} & = \varepsilon a_{1} - jb_{1},\\
   & \ldots\\
   p_{n-1} & = \varepsilon a_{m} + jb_{m},\\
   p_{n} & = \varepsilon a_{m} - jb_{m}.
 \end{align}

Corresponding to the system poles, also the residues are written in complex conjugate pairs


\begin{align}
  r_{1} & = c_{1} + jd_{1},\\
  r_{2} & = c_{1} - jd_{1},\\
  & \ldots\\
  r_{n-1} & = c_{m} + jd_{m},\\
  r_n & = c_{m} - jd_{m}.
\end{align}

Using this, the realization of the dynamical system can be written with matrices having real entries by


\begin{align}
  A_{\varepsilon} & = \begin{bmatrix} A_{\varepsilon, 1} & & \\ & \ddots & \\ & & A_{\varepsilon, m} \end{bmatrix}, &
  A_{0} & = \begin{bmatrix} A_{0, 1} & & \\ & \ddots & \\ & & A_{0, m} \end{bmatrix}, &
  B & = \begin{bmatrix} B_{1} \\ \vdots \\ B_{m} \end{bmatrix}, &
  C & = \begin{bmatrix} C_{1}, & \cdots, & C_{m} \end{bmatrix},
\end{align}

with A_{\varepsilon, k} = \begin{bmatrix} a_{k} & 0  \\ 0 & a_{k} \end{bmatrix}, A_{0, k} = \begin{bmatrix} 0 & b_{k} \\ -b_{k} & 0 \end{bmatrix}, B_{k} = \begin{bmatrix} 2 \\ 0 \end{bmatrix}, C_{k} = \begin{bmatrix} c_k, & d_k \end{bmatrix}.

Numerical Values

We construct a system of order n = 100. The numerical values for the different variables are

  • a_i equally spaced in  [-10^3, -10],
  • b_i equally spaced in [10, 10^3],
  •  c_i = 1,
  •  d_i = 0,
  • \varepsilon \in [1/50,1].


In MATLAB, the system matrices are easily formed as follows:

 n = 100;
 a = -linspace(1e1,1e3,n/2).';   b = linspace(1e1,1e3,n/2).';
 c = ones(n/2,1);                d = zeros(n/2,1);
 aa(1:2:n-1,1) = a;              aa(2:2:n,1) = a;
 bb(1:2:n-1,1) = b;              bb(2:2:n-2,1) = 0;
 Ae = spdiags(aa,0,n,n);
 A0 = spdiags([0;bb],1,n,n) + spdiags(-bb,-1,n,n);
 B = 2*sparse(mod([1:n],2)).';
 C(1:2:n-1) = c.';               C(2:2:n) = d.';   C = sparse(C);


The above system matrices A_\varepsilon, A_0, B, C are also available in MatrixMarket format Synth_matrices.tar.gz.

Plots

We plot the frequency response H(s,\varepsilon) = C\big(sI-\varepsilon A_\varepsilon - A_0\big)^{-1}B and poles for parameter values \varepsilon \in [1/50, 1/20, 1/10, 1/5, 1/2, 1] .


Frequency response of synthetic parametric system, for parameter values 1/50 (blue), 1/20 (green), 1/10 (red), 1/5 (teal), 1/2 (purple), 1 (yellow).


In MATLAB, the plots are generated using the following commands:

 r(1:2:n-1,1) = c+1j*d;     r(2:2:n,1) = c-1j*d;
 ep = [1/50; 1/20; 1/10; 1/5; 1/2; 1];                       % parameter epsilon
 jw = 1j*linspace(0,1.2e3,5000).';                           % frequency grid
 for j = 1:length(ep)
   p(:,j) = [ep(j)*a+1j*b; ep(j)*a-1j*b];                    % poles
   [jww,pp] = meshgrid(jw,p(:,j));
   Hjw(j,:) = (r.')*(1./(jww-pp));                           % freq. resp.
 end
 figure,  loglog(imag(jw),abs(Hjw),'LineWidth',2)
          axis tight,    xlim([6 1200])
          xlabel('frequency (rad/sec)')
          ylabel('magnitude')
          title('Frequency response for different \epsilon')
 figure,  plot(real(p),imag(p),'.')
          title('Poles for different \epsilon')


Other interesting plots result for small values of the parameter. For example, for \varepsilon = 1/100, 1/1000 , the peaks in the frequency response become more pronounced, since the poles move closer to the imaginary axis.


Next, for \varepsilon \in [1/50, 1/20, 1/10, 1/5, 1/2, 1] , we also plot the decay of the Hankel singular values. Notice that for small values of the parameter, the decay of the Hankel singular values is very slow.

Hankel singular values of synthetic parametric system, for parameter values 1/50 (blue), 1/20 (green), 1/10 (red), 1/5 (teal), 1/2 (purple), 1 (yellow).

Data

Dimensions

Citation

Contact

Antonio Cosmin Ionita