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>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> 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; % system order n |
||
− | n = 100; |
||
+ | 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); |
||
</tt> |
</tt> |
Revision as of 13: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,
.
For a system in pole-residue form
we can write down the state-space realisation with
Notice that the system matrices have complex entries.
For simplicity, assume that is even,
, and that all system poles are complex and ordered in complex conjugate pairs, i.e.
and the residues also form complex conjugate pairs
Then a realization with matrices having real entries is given by
with ,
,
,
.
Numerical values
We construct a system of order . The numerical values for the different variables are
equally spaced in
,
equally spaced in
,
,
,
.
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);