Date post: | 16-Oct-2014 |
Category: |
Documents |
Upload: | franco-carlos |
View: | 36 times |
Download: | 2 times |
Vector fitting
Gerhard Heinzel
1Max-Planck-Institut fur Gravitationsphysik Hannover (Albert-Einstein-Institut)
2007/06/26 LTP data analysis meeting Barcelona
-80
-70
-60
-50
-40
-30
-20
-10
107106105104103-180
-135
-90
-45
0
45
90
135
180dB
Phas
e [D
egre
e]
Frequency [Hz]
dB
deg
Gerhard Heinzel Vector fitting
Problem
complex functions of frequency
transfer functions
loop gains
electrical impedance, admittance, S parameters
origin
These functions typically come from measurements and are usually shownas Bode diagrams.
-70
-60
-50
-40
-30
-20
-10
0
10
20
30
0.1 1 10 100-90
-45
0
45
90
135
180
dB
Phas
e [D
egre
e]
Frequency [Hz]
degdB
-80
-70
-60
-50
-40
-30
-20
-10
107106105104103-180
-135
-90
-45
0
45
90
135
180
dB
Phas
e [D
egre
e]
Frequency [Hz]
dB
deg
Gerhard Heinzel Vector fitting
Problem
complex functions of frequency
transfer functions
loop gains
electrical impedance, admittance, S parameters
origin
These functions typically come from measurements and are usually shownas Bode diagrams.
-70
-60
-50
-40
-30
-20
-10
0
10
20
30
0.1 1 10 100-90
-45
0
45
90
135
180
dB
Phas
e [D
egre
e]
Frequency [Hz]
degdB
-80
-70
-60
-50
-40
-30
-20
-10
107106105104103-180
-135
-90
-45
0
45
90
135
180
dB
Phas
e [D
egre
e]
Frequency [Hz]
dB
deg
Gerhard Heinzel Vector fitting
Problem
complex functions of frequency
transfer functions
loop gains
electrical impedance, admittance, S parameters
origin
These functions typically come from measurements and are usually shownas Bode diagrams.
-70
-60
-50
-40
-30
-20
-10
0
10
20
30
0.1 1 10 100-90
-45
0
45
90
135
180
dB
Phas
e [D
egre
e]
Frequency [Hz]
degdB
-80
-70
-60
-50
-40
-30
-20
-10
107106105104103-180
-135
-90
-45
0
45
90
135
180
dB
Phas
e [D
egre
e]
Frequency [Hz]
dB
deg
Gerhard Heinzel Vector fitting
Problem
complex functions of frequency
transfer functions
loop gains
electrical impedance, admittance, S parameters
origin
These functions typically come from measurements and are usually shownas Bode diagrams.
-70
-60
-50
-40
-30
-20
-10
0
10
20
30
0.1 1 10 100-90
-45
0
45
90
135
180
dB
Phas
e [D
egre
e]
Frequency [Hz]
degdB
-80
-70
-60
-50
-40
-30
-20
-10
107106105104103-180
-135
-90
-45
0
45
90
135
180
dB
Phas
e [D
egre
e]
Frequency [Hz]
dB
deg
Gerhard Heinzel Vector fitting
Problem
complex functions of frequency
transfer functions
loop gains
electrical impedance, admittance, S parameters
origin
These functions typically come from measurements and are usually shownas Bode diagrams.
-70
-60
-50
-40
-30
-20
-10
0
10
20
30
0.1 1 10 100-90
-45
0
45
90
135
180
dB
Phas
e [D
egre
e]
Frequency [Hz]
degdB
-80
-70
-60
-50
-40
-30
-20
-10
107106105104103-180
-135
-90
-45
0
45
90
135
180
dB
Phas
e [D
egre
e]
Frequency [Hz]
dB
deg
Gerhard Heinzel Vector fitting
Problem
complex functions of frequency
transfer functions
loop gains
electrical impedance, admittance, S parameters
origin
These functions typically come from measurements and are usually shownas Bode diagrams.
-70
-60
-50
-40
-30
-20
-10
0
10
20
30
0.1 1 10 100-90
-45
0
45
90
135
180
dB
Phas
e [D
egre
e]
Frequency [Hz]
degdB
-80
-70
-60
-50
-40
-30
-20
-10
107106105104103-180
-135
-90
-45
0
45
90
135
180
dB
Phas
e [D
egre
e]
Frequency [Hz]
dB
deg
Gerhard Heinzel Vector fitting
Problem
complex functions of frequency
transfer functions
loop gains
electrical impedance, admittance, S parameters
origin
These functions typically come from measurements and are usually shownas Bode diagrams.
-70
-60
-50
-40
-30
-20
-10
0
10
20
30
0.1 1 10 100-90
-45
0
45
90
135
180
dB
Phas
e [D
egre
e]
Frequency [Hz]
degdB
-80
-70
-60
-50
-40
-30
-20
-10
107106105104103-180
-135
-90
-45
0
45
90
135
180
dB
Phas
e [D
egre
e]
Frequency [Hz]
dB
deg
Gerhard Heinzel Vector fitting
Modelling
An analytical model of a measured transfer function is often desirable:
simple, smooth, description for simulations
parameters may have physical meanings, e.g. gain factors, resonancefrequencies, quality factors, delay times.
general rational model
H(s) = A0a0 + a1s + a2s
2 + · · ·+ ansn
b0 + b1s + b2s2 + · · ·+ sme−s τ
H(s) is a real function in s, but s is a complex variable:
s = iω = 2π i f
Gerhard Heinzel Vector fitting
Modelling
An analytical model of a measured transfer function is often desirable:
simple, smooth, description for simulations
parameters may have physical meanings, e.g. gain factors, resonancefrequencies, quality factors, delay times.
general rational model
H(s) = A0a0 + a1s + a2s
2 + · · ·+ ansn
b0 + b1s + b2s2 + · · ·+ sme−s τ
H(s) is a real function in s, but s is a complex variable:
s = iω = 2π i f
Gerhard Heinzel Vector fitting
Modelling
An analytical model of a measured transfer function is often desirable:
simple, smooth, description for simulations
parameters may have physical meanings, e.g. gain factors, resonancefrequencies, quality factors, delay times.
general rational model
H(s) = A0a0 + a1s + a2s
2 + · · ·+ ansn
b0 + b1s + b2s2 + · · ·+ sme−s τ
H(s) is a real function in s, but s is a complex variable:
s = iω = 2π i f
Gerhard Heinzel Vector fitting
Input data
The measured data is given as a set of pairs or triples
fk ,Hk [,wk ], k = 1, . . . ,Ndata
withfk the frequency of the data point, used as sk = 2π i fk ,Hk the value of the complex function,wk the weight of this data point, given as one of
wk = 1/σ2(Hk) measured, best if available,
wk = 1 absolute,
wk = 1/|Hk |2 relative,
wk = 1/|Hk | ‘semi’ relative
Gerhard Heinzel Vector fitting
Three equivalent forms
polynomial
H0(s) =a0 + a1s + a2s
2 + · · ·+ ansn
b0 + b1s + b2s2 + · · ·+ sm
pole-zero (preferred)
H0(s) =(s − z0)(s − z1) . . . [(s − zj)(s − z∗j )] . . .
(s − p0)(s − p1) . . . [(s − pj)(s − p∗j )] . . .
partial fractions with residuals (used by vector fitting)
H0(s) =r0
(s − p0)+
r1(s − p1)
+ · · ·+
[rj
(s − pj)+
r∗j(s − p∗j )
]+ . . .
Gerhard Heinzel Vector fitting
Linear fit of residuals
Partial fractions with residuals:
H0(s) =r0
(s − p0)+
r1(s − p1)
+ · · ·+
[rj
(s − pj)+
r∗j(s − p∗j )
]+ . . .
If the poles pj are known, the residuals can be found from a linearleast-squares fit to the data using the base functions
1
(s − p0),
1
(s − p1), . . . .
But: The poles are in general not known.
Gerhard Heinzel Vector fitting
pole fitting
Enter vector fitting (Bjørn Gustavsen 1999), which could also be calledpole fitting: The aim is to find all rm, pm, d and e in the model
H(s) =N∑
m=1
rms − pm
+ d + se (1)
such as to minimize the (weighted) least-square deviation from the set ofmeasured data. Starting with a set of initial poles {qm}, write
σ(s)H(s) = x(s), (2)
where σ(s), and x(s) share the initial poles {qm}:(N∑
m=1
rms − qm
+ 1
)H(s) =
N∑m=1
rms − qm
+ d + se
Gerhard Heinzel Vector fitting
pole fitting 2
(N∑
m=1
rms − qm
+ 1
)H(s) =
N∑m=1
rms − qm
+ d + se
This augmented equation is fitted to the given data, yielding rm (and rm,d , e). Rewriting (2)
σ(s)H(s) = x(s) =⇒ H(s) =x(s)
σ(s)
shows that the poles of H(s) are the zeroes of σ(s), and the latter can befound by explicit algebraic operations on
σ(s) =N∑
m=1
rms − qm
+ 1.
This yields a new set of poles {q′m}, and the procedure is iteratedtowards σ(s) ≡ 1 and {qm} = {pm}.
Gerhard Heinzel Vector fitting
realization
One step of the VF iteration (to yield a new set of poles {q′m}) needs to:
Solve the overdetermined linear real system(N∑
m=1
rmsk − qm
+ 1
)Hk =
N∑m=1
rmsk − qm
+ d + ske
of size (2Ndata + 1)× (2N + 3) in the least-squares sense. Asuccessful method is DGELSY from NETLIB, which uses QRfactorization with column pivoting and is also used by MATLAB.
Solve a real asymmetric N × N Eigenvalue problem. A goodsubroutine is DGEES from NETLIB.
Solve another overdetermined linear real system (1) of size(2Ndata)× (N + 2) in the least-squares sense.
Gerhard Heinzel Vector fitting
realization
One step of the VF iteration (to yield a new set of poles {q′m}) needs to:
Solve the overdetermined linear real system(N∑
m=1
rmsk − qm
+ 1
)Hk =
N∑m=1
rmsk − qm
+ d + ske
of size (2Ndata + 1)× (2N + 3) in the least-squares sense. Asuccessful method is DGELSY from NETLIB, which uses QRfactorization with column pivoting and is also used by MATLAB.
Solve a real asymmetric N × N Eigenvalue problem. A goodsubroutine is DGEES from NETLIB.
Solve another overdetermined linear real system (1) of size(2Ndata)× (N + 2) in the least-squares sense.
Gerhard Heinzel Vector fitting
realization
One step of the VF iteration (to yield a new set of poles {q′m}) needs to:
Solve the overdetermined linear real system(N∑
m=1
rmsk − qm
+ 1
)Hk =
N∑m=1
rmsk − qm
+ d + ske
of size (2Ndata + 1)× (2N + 3) in the least-squares sense. Asuccessful method is DGELSY from NETLIB, which uses QRfactorization with column pivoting and is also used by MATLAB.
Solve a real asymmetric N × N Eigenvalue problem. A goodsubroutine is DGEES from NETLIB.
Solve another overdetermined linear real system (1) of size(2Ndata)× (N + 2) in the least-squares sense.
Gerhard Heinzel Vector fitting
realization
One step of the VF iteration (to yield a new set of poles {q′m}) needs to:
Solve the overdetermined linear real system(N∑
m=1
rmsk − qm
+ 1
)Hk =
N∑m=1
rmsk − qm
+ d + ske
of size (2Ndata + 1)× (2N + 3) in the least-squares sense. Asuccessful method is DGELSY from NETLIB, which uses QRfactorization with column pivoting and is also used by MATLAB.
Solve a real asymmetric N × N Eigenvalue problem. A goodsubroutine is DGEES from NETLIB.
Solve another overdetermined linear real system (1) of size(2Ndata)× (N + 2) in the least-squares sense.
Gerhard Heinzel Vector fitting
Is it worth the effort?
transfer function of a commercial line filter:
-80
-70
-60
-50
-40
-30
-20
-10
107106105104103-180
-135
-90
-45
0
45
90
135
180
dB
Phas
e [D
egre
e]
Frequency [Hz]
dB
deg
14 poles to describe 660 data points are found in 0.3 seconds, fullyautomatically except choosing the number of poles and the weightingoption.
Gerhard Heinzel Vector fitting
Is it worth the effort?
transfer function of a commercial line filter:
-80
-70
-60
-50
-40
-30
-20
-10
107106105104103-180
-135
-90
-45
0
45
90
135
180
dB
Phas
e [D
egre
e]
Frequency [Hz]
dB
deg
14 poles to describe 660 data points are found in 0.3 seconds, fullyautomatically except choosing the number of poles and the weightingoption.
Gerhard Heinzel Vector fitting
Is it worth the effort?
a GEO600 interferometric response function:
-20
-10
0
10
20
30
40
50
60
70
1 10 100 1000 10000-90
-45
0
45
90
135
180
dB
Phas
e [D
egre
e]
Frequency [Hz]
dB
deg
16 poles to describe 16384 data points from 1 to 8192 Hz are found in2.5 seconds, fully automatically except choosing the number of poles andthe weighting option.
Gerhard Heinzel Vector fitting
Is it worth the effort?
a GEO600 interferometric response function:
-20
-10
0
10
20
30
40
50
60
70
1 10 100 1000 10000-90
-45
0
45
90
135
180
dB
Phas
e [D
egre
e]
Frequency [Hz]
dB
deg
16 poles to describe 16384 data points from 1 to 8192 Hz are found in2.5 seconds, fully automatically except choosing the number of poles andthe weighting option.
Gerhard Heinzel Vector fitting
Software status
MATLAB
Vector fitting was developed in MATLAB by its inventor BjørnGustavsen.
His code is freely available:http://www.energy.sintef.no/produkt/VECTFIT/index.asp
Another version is available as function “rationalfit” in the RFtoolbox.
LISO
I have implemented the algorithm in LISO.
Gerhard Heinzel Vector fitting
Software status
MATLAB
Vector fitting was developed in MATLAB by its inventor BjørnGustavsen.
His code is freely available:http://www.energy.sintef.no/produkt/VECTFIT/index.asp
Another version is available as function “rationalfit” in the RFtoolbox.
LISO
I have implemented the algorithm in LISO.
Gerhard Heinzel Vector fitting
Software status
MATLAB
Vector fitting was developed in MATLAB by its inventor BjørnGustavsen.
His code is freely available:http://www.energy.sintef.no/produkt/VECTFIT/index.asp
Another version is available as function “rationalfit” in the RFtoolbox.
LISO
I have implemented the algorithm in LISO.
Gerhard Heinzel Vector fitting
Software status
MATLAB
Vector fitting was developed in MATLAB by its inventor BjørnGustavsen.
His code is freely available:http://www.energy.sintef.no/produkt/VECTFIT/index.asp
Another version is available as function “rationalfit” in the RFtoolbox.
LISO
I have implemented the algorithm in LISO.
Gerhard Heinzel Vector fitting
Software status
MATLAB
Vector fitting was developed in MATLAB by its inventor BjørnGustavsen.
His code is freely available:http://www.energy.sintef.no/produkt/VECTFIT/index.asp
Another version is available as function “rationalfit” in the RFtoolbox.
LISO
I have implemented the algorithm in LISO.
Gerhard Heinzel Vector fitting
Software status
Pole relocation:
problemn*n Eigenvalue
working well
missing
working but needsrefinement
Yes
No
No
Select initial poles
Pole relocation:
linear fit2ND * 2n overdet.
residuals:2ND * n overdet.
linear fit
convergence ?
residuals:2ND * n overdet.
linear fit
Fit satisfactory ?
increase n
(Gustavsen)vectfit2.m
Yes
Postprocessing
Future work:
for fixed number of poles N,find the best criterion tostop the iteration
find an automatic method tochoose a suitable number ofpoles N
handle delays
handle data without phase(if possible)
Gerhard Heinzel Vector fitting
Software status
Pole relocation:
problemn*n Eigenvalue
working well
missing
working but needsrefinement
Yes
No
No
Select initial poles
Pole relocation:
linear fit2ND * 2n overdet.
residuals:2ND * n overdet.
linear fit
convergence ?
residuals:2ND * n overdet.
linear fit
Fit satisfactory ?
increase n
(Gustavsen)vectfit2.m
Yes
Postprocessing
Future work:
for fixed number of poles N,find the best criterion tostop the iteration
find an automatic method tochoose a suitable number ofpoles N
handle delays
handle data without phase(if possible)
Gerhard Heinzel Vector fitting
Software status
Pole relocation:
problemn*n Eigenvalue
working well
missing
working but needsrefinement
Yes
No
No
Select initial poles
Pole relocation:
linear fit2ND * 2n overdet.
residuals:2ND * n overdet.
linear fit
convergence ?
residuals:2ND * n overdet.
linear fit
Fit satisfactory ?
increase n
(Gustavsen)vectfit2.m
Yes
Postprocessing
Future work:
for fixed number of poles N,find the best criterion tostop the iteration
find an automatic method tochoose a suitable number ofpoles N
handle delays
handle data without phase(if possible)
Gerhard Heinzel Vector fitting
Software status
Pole relocation:
problemn*n Eigenvalue
working well
missing
working but needsrefinement
Yes
No
No
Select initial poles
Pole relocation:
linear fit2ND * 2n overdet.
residuals:2ND * n overdet.
linear fit
convergence ?
residuals:2ND * n overdet.
linear fit
Fit satisfactory ?
increase n
(Gustavsen)vectfit2.m
Yes
Postprocessing
Future work:
for fixed number of poles N,find the best criterion tostop the iteration
find an automatic method tochoose a suitable number ofpoles N
handle delays
handle data without phase(if possible)
Gerhard Heinzel Vector fitting
Software status
Pole relocation:
problemn*n Eigenvalue
working well
missing
working but needsrefinement
Yes
No
No
Select initial poles
Pole relocation:
linear fit2ND * 2n overdet.
residuals:2ND * n overdet.
linear fit
convergence ?
residuals:2ND * n overdet.
linear fit
Fit satisfactory ?
increase n
(Gustavsen)vectfit2.m
Yes
Postprocessing
Future work:
for fixed number of poles N,find the best criterion tostop the iteration
find an automatic method tochoose a suitable number ofpoles N
handle delays
handle data without phase(if possible)
Gerhard Heinzel Vector fitting
Postprocessing
The VF result
H0(s) =r0
(s − p0)+
r1(s − p1)
+ · · ·+
[rj
(s − pj)+
r∗j(s − p∗j )
]+ · · ·+d + se
(3)
is converted into its pole-zero representation
H0(s) = A0
(s − z0)(s − z1) . . . [(s − zj)(s − z∗j )] . . .
(s − p0)(s − p1) . . . [(s − pj)(s − p∗j )] . . .
and written as LISO input file for further processing.
Gerhard Heinzel Vector fitting
Literature
Gustavsen, B; Semlyen, A: Rational approximation of frequencydomain responses by vector fitting IEEE TRANSACTIONS ON POWER
DELIVERY, Volume 14, Issue 3, page 1052–1061, 1999
Grivet-Talocia, S; Bandinu, M: Improving the convergence ofvector fitting for equivalent circuit extraction from noisyfrequency responses IEEE TRANSACTIONS ON ELECTROMAGNETIC
COMPATIBILITY, Volume 48, Issue 1, page 104–120, 2006
Gustavsen, B: Improving the pole relocating properties ofvector fitting IEEE TRANSACTIONS ON POWER DELIVERY, Volume 21, Issue 3,
page 1587–1592, 2006
Hendrickx, W; Dhaene, T: A discussion of ”rationalapproximation of frequency domain responses by vectorfitting” IEEE TRANSACTIONS ON POWER SYSTEMS, Volume 21, Issue 1, page
441–443, 2006
http://www.energy.sintef.no/produkt/VECTFIT/index.asp
Gerhard Heinzel Vector fitting