+ All Categories
Home > Documents > Vector FittingHeinzel

Vector FittingHeinzel

Date post: 16-Oct-2014
Category:
Upload: franco-carlos
View: 36 times
Download: 2 times
Share this document with a friend
36
Vector fitting Gerhard Heinzel 1 Max-Planck-Institut f¨ ur Gravitationsphysik Hannover (Albert-Einstein-Institut) 2007/06/26 LTP data analysis meeting Barcelona -80 -70 -60 -50 -40 -30 -20 -10 10 7 10 6 10 5 10 4 10 3 -180 -135 -90 -45 0 45 90 135 180 dB Phase [Degree] Frequency [Hz] dB deg Gerhard Heinzel Vector fitting
Transcript
Page 1: Vector FittingHeinzel

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

Page 2: Vector FittingHeinzel

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

Page 3: Vector FittingHeinzel

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

Page 4: Vector FittingHeinzel

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

Page 5: Vector FittingHeinzel

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

Page 6: Vector FittingHeinzel

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

Page 7: Vector FittingHeinzel

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

Page 8: Vector FittingHeinzel

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

Page 9: Vector FittingHeinzel

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

Page 10: Vector FittingHeinzel

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

Page 11: Vector FittingHeinzel

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

Page 12: Vector FittingHeinzel

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

Page 13: Vector FittingHeinzel

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

Page 14: Vector FittingHeinzel

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

Page 15: Vector FittingHeinzel

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

Page 16: Vector FittingHeinzel

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

Page 17: Vector FittingHeinzel

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

Page 18: Vector FittingHeinzel

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

Page 19: Vector FittingHeinzel

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

Page 20: Vector FittingHeinzel

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

Page 21: Vector FittingHeinzel

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

Page 22: Vector FittingHeinzel

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

Page 23: Vector FittingHeinzel

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

Page 24: Vector FittingHeinzel

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

Page 25: Vector FittingHeinzel

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

Page 26: Vector FittingHeinzel

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

Page 27: Vector FittingHeinzel

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

Page 28: Vector FittingHeinzel

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

Page 29: Vector FittingHeinzel

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

Page 30: Vector FittingHeinzel

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

Page 31: Vector FittingHeinzel

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

Page 32: Vector FittingHeinzel

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

Page 33: Vector FittingHeinzel

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

Page 34: Vector FittingHeinzel

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

Page 35: Vector FittingHeinzel

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

Page 36: Vector FittingHeinzel

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


Recommended