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 60: Line 60:
In MATLAB the system matrices are easily formed as follows
In MATLAB the system matrices are easily formed as follows


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

Revision as of 11:47, 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 [103,10],
  • 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;
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);