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



Synthetic parametric model: Difference between revisions

Ionita (talk | contribs)
Ionita (talk | contribs)
Line 46: Line 46:


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
* <math> r_i = 1</math>,


* <math>a_i </math> equally spaced in <math> [10, 10^3]</math>,
* <math>a_i </math> equally spaced in <math> [10, 10^3]</math>,


* <math>b_i </math> equally spaced in <math>[10, 10^3]</math>,
* <math>b_i </math> equally spaced in <math>[10, 10^3]</math>,
* <math> c_i = 1</math>,
* <math> d_i = 0</math>,


* <math>\varepsilon</math><math> \in [1/50,1]</math>.
* <math>\varepsilon</math><math> \in [1/50,1]</math>.
Line 59: Line 61:


:<tt>
:<tt>
n = 100;
n = 100;                                                   % system order n
 
a = -linspace(1e1,1e3,n/2).';                               % poles p = a+jb
a = -linspace(1e1,1e3,n/2);
b = linspace(1e1,1e3,n/2).';
       
c = ones(n/2,1);                                            % residues p = c+jd
b = linspace(1e1,1e3,n/2);
d = zeros(n/2,1);
aa(1:2:n-1,1) = a;        aa(2:2:n,1) = a;                % system matrices
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);
</tt>
</tt>

Revision as of 11:34, 29 November 2011

Introduction

On this page you will find a purely synthetic parametric model. The goal is to have a simple parametric model which one can use to experiment with different system orders, parameter values etc.

System description

The parameter ε scales the real part of the system poles, that is, pi=εai+jbi. For a system in pole-residue form


H(s,ε)=i=1nrispi=i=1nris(εai+jbi)


we can write down the state-space realisation H(s,ε)=C^(sIεA^εA^0)1B^+D with


εA^ε+A^0=ε[a1an]+[jb1jbn],
B^=[1,,1]T,C^=[r1,,rn],D=0.


Notice that the system matrices have complex entries.

For simplicity, assume that n is even, n=2k, and that all system poles are complex and ordered in complex conjugate pairs, i.e.

p1=εa1+jb1,p2=εa1jb1,,pn1=εak+jbk,pn=εakjbk,

and the residues also form complex conjugate pairs

r1=c1+jd1,r2=c1jd1,,rn1=ck+jdk,rn=ckjdk.


Then a realization with matrices having real entries is given by


Aε=[Aε,1Aε,k],A0=[A0,1A0,k],B=[B1Bk],C=[C1Ck],D=0,


with Aε,i=[ai00ai], A0,i=[0bibi0], Bi=[20], Ci=[cidi].

Numerical values

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

  • ai equally spaced in [10,103],
  • bi equally spaced in [10,103],
  • ci=1,
  • di=0,
  • ε[1/50,1].


In MATLAB the system matrices are easily formed as follows

n = 100;  % system order n a = -linspace(1e1,1e3,n/2).';  % poles p = a+jb b = linspace(1e1,1e3,n/2).'; c = ones(n/2,1);  % residues p = c+jd d = zeros(n/2,1); aa(1:2:n-1,1) = a; aa(2:2:n,1) = a;  % system matrices 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);