2017 Vector Fitting Algorithm
2017 Vector Fitting Algorithm
(Frequency-Domain)
2017
Carleton
UNIVERSITY
Department of Electronics
Carleton
UNIVERSITY Problem Definition 1
The dielectric material buffering the six-conductor layers has been (chemically) etched away.
Carleton
UNIVERSITY Goal? 2
Circuit
?
Realization of circuit
Black Box
EM Simulation Measurements
Simulated / measured
Tabulated data
Carleton
UNIVERSITY Vector Fitting: Problem Definition 4
Freq. Data
Given tabulated-data: s1 f(s1)
s2 f(s2)
… …
sN f(sN)
Vector Fitting
(s − z1 )(s − z2 )(s − z ) ×
* ∏ (s− z )i
real Residue
c1 c2 c2*
F ( s=
) + + + + d
s − a1 s − a2 s − a2*
real Pole Complex - Conjugate pols
1 1 j j
cˆ2 + + cˆ3 −
s − a2 s − a2 s − a2 s − a2
Carleton
UNIVERSITY New form for the Basis 9
1 1 1 j j
=
F ( s ) cˆ1 + cˆ2 + *
+ cˆ3 − *
+ + d
s − a1 s − a2 s − a2 s − a2 s − a2
Complex-Conjugate Poles
Carleton
UNIVERSITY Select a Scaling Function 11
Data
F (s) = δ (s) f ( s)
Scaling Function
n
cˆi
∑
i =1 s − ai
δ (s) f (s)
+d =
Same Poles
n
ci
δ (s) ∑
= +1
i =1 s − ai
Carleton
UNIVERSITY Select a Scaling Function 12
n
cˆi
∑
Data
δ (s) f (s)
+d =
i =1 s − ai
n
ˆci n ci
∑ =
s − ai
+ d ∑ + 1 f ( s )
i 1= i 1 s − ai
Carleton
Formulation: Real-Poles
UNIVERSITY 13
n
cˆi n ci
We had: ∑ =
s − ai
+ d ∑ + 1 f ( s )
=i 1 = i 1 s − ai
n
ˆci n
ci
∑ =
s − ai
i 1=
+d ∑
i 1 s − ai
f (s) + f (s)
n
cˆi n
ci
∑ s − ai
i 1=
+d −∑
i 1 s − ai
f (s) =f (s)
1 1 − f ( s1 ) − f ( s1 ) cˆ1
s −a s −a 1
s1 − a1
s1 − an
1 1 1 n
f ( s1 )
1 1 − f ( s2 ) − f ( s2 ) cˆn
s −a s −a 1
s 2 − a1
s 2 − an d =
f ( s )
2
2 1 2 n
c1
1 f ( sN )
1 − f ( sN ) − f ( sN )
1
s N − a1 s N − an s N − a1 s N − an cn
1 1 − f ( s1 ) − f ( s1 ) cˆ1
s −a s −a 1
s1 − a1
s1 − an
1 1 1 n
f ( s1 )
1 1 − f ( s2 ) − f ( s2 ) cˆn
s −a s −a 1
s 2 − a1
s 2 − an d =
f ( s )
2
2 1 2 n
c1
1 f ( sN )
1 − f ( sN ) − f ( sN )
1
s N − a1 s N − an s N − a1 s N − an cn
A x = B
Carleton
UNIVERSITY Vector Fitting Algorithm 17
�
𝐀𝐀 �
𝐁𝐁
The solution vector X includes the residues for both f(s) and d(s)!
∏(s − a )
i =1
i
max ( )
n
=
Error in Poles ai( m ) − ai( m−1) < Threshold
i =1
1 1
s −a 1
s1 − an
1 1 cˆ1 f ( s1 )
1
1 f ( s2 )
1
s −a
s 2 − an =
2 1 cˆn
1 1
d f ( s N
)
1
s N − a1 s N − an
{1 2 n} =
ci n
Poles: a , a , a δ (s) ∑ +1
i =1 s − ai
Residues: {c1 , c2 , cn }
?
?
n
∏ ( s − z )
{ z1 ?,= zn ?}
i
∏(s − a )
i =1
i
(See Apendix-1)
Carleton Computation of Zeros of d(s): Real Case
UNIVERSITY 22
a1 1
a2 1
A= B=
1
an
=
zeros of Transfer Func: z eig (A − BC ) T
1 1 j j
δ ( s ) = + ci + *
+ ci +1 − *
+ +1
s − ai s − ai s − ai s − ai
α i + j βi
ai = α i − j βi
ai* =
α i βi 2
Ai = di = ciT = [ ci ci +1 ]
−
i β α i 0
State space Realization
= =
A [?], =
B [?], =
C [?], D [?]
Carleton State space Realization: Real Case
UNIVERSITY 25
Can Find: ( A, B, C, D )
a1 1
1
a2
A= B=
1
an
(i) Show the format of transfer function F(x) we are intended to find.
(ii) Show required format for the scalar function d(s) to be used.
1 1 1 j j
F ( s=
) cˆ1 + cˆ2 + *
+ cˆ3 − *
+d
s − a1 s − a2 s − a2 s − a2 s − a2
Carleton
UNIVERSITY Example 29
1 1 1 j j
δ ( s=
) c1 + c2 + *
+ c3 − *
+1
s − a1 s − a2 s − a2 s − a2 s − a2
Carleton
UNIVERSITY Example 30
F ( si ) = δ( si ) f ( si )
1 1 1 j j
cˆ1 + cˆ2 + *
+ cˆ3 − *
+d −
si − a1 si − a2 si − a2 si − a2 si − a2
f ( si ) f ( si ) f ( si ) f ( si ) j f ( si ) j
c1 − c2 + *
− c3 − *
=
f ( si )
si − a1 si − a2 si − a2 si − a2 si − a2
Carleton
UNIVERSITY Example 31
1 1 1 j j − f ( s1 ) 1 1 j j cˆ
+ * − *
1 − + *
f ( s1 ) − − f ( s ) 1
s1 − a1 s1 − a2 s1 − a2 s1 − a2 s1 − a2 s1 − a1 s1 − a2 s1 − a2 − − * 1
1 2 1 2
s a s a cˆ2
1 cˆ f ( s1 )
1 j j − f ( s2 ) 1 1 j j
1 + * − *
1 − + *
f ( s2 ) − − *
f ( s2 ) 3 f ( s2 )
s 2 − a1 s 2 − a2 s 2 − a2 s 2 − a2 s 2 − a2 s 2 − a1 s 2 − a2 s 2 − a2 s 2 − a2 s 2 − a2 d =
1c
1 c2 f ( sN )
1 1 j j − f ( sN ) 1 1 j j
+ − *
1 − + *
f ( s1 ) − − *
f ( sN )
s N − a1 s N − a2 s N − a2 s N − a2 s N − a2 s N − a1 − − − − c3
*
N 2
s a s N a2 N 2
s a s N a 2
B
x
A
Carleton
UNIVERSITY Example 32
Ax=B
x =𝐀𝐀 �
� \𝐁𝐁 (Matlab)
Carleton
UNIVERSITY Example 33
a1 0 0 1 D=d
A= 0 α β
B= 2
CT = [ c1 c2 c3 ]
0 − β α 0
=
zeros of scaling func: z eig (A − BCT )
Carleton
UNIVERSITY Vector Fitting 34
Conversion of
Macromodels to
Equivalent Subcircuits:
Carleton
UNIVERSITY Equivalent Subcircuits 35
Port
Currents Port
Voltages
Carleton
UNIVERSITY Equivalent Subcircuits 37
x1 = vn1
I1 I2 I3 I4 I5
I1 = vn1
Element#1: ⇒C =
1, Capasitor
I c = Cv
I 2 = a11vn1
1
Element#2: 1 ⇒ R = , Resistor
I R = R vR a11
I 3 = a12vn 2
Element#3: ⇒k =a12 , VCCS
I = k vk
The difference between the case of Element#2 and Element#3 is that:
for Element#2, Vn1 is a voltage across the same branch. Hence, it is a resistor.
for Element#3, Vn2 is a voltage some where else in the circuit (not across the branch).
Carleton
UNIVERSITY Equivalent Subcircuits 40
x1 = vn1
•-I1
•VCCS •VCCS •VCCS
•I 2 •I 3 •I 4 •I 5
Carleton
UNIVERSITY Equivalent Subcircuits 41
x2 = vn 2
=x1 v=
n1 , x2 vn 2
Carleton
UNIVERSITY References 44
Reference:
B. Gustavsen and A. Semlyen, “Rational approximation of frequency
domain responses by vector fitting,” IEEE Transactions on Power Delivery,
vol. 14, no. 3, pp. 1052–1061, Jul. 1999
an −1s n −1 + + a0
f (s) n −1
+d Transfer Function
bn s + bn −1s + + 1
n
(Strictly proper form)
Residue
c1 c2 c2* Partial Fraction
f ( s) = + + + + d
s − a1 s − a2 s − a2*
(Poles / Residue)
Poles
Carleton
UNIVERSITY Appendix-1: New Basis …. (cnt’d) 46
real Residue
c1 c2 c2*
f ( s=
) + + + + d
s − a1 s − a2 s − a2*
real Pole Complex - Conjugate pols
c2 c2* α +β j α −β j
+ = + =
s − a2 s − a2 s − a2 s − a2
α α βj βj
+ + − =
s − a2 s − a2 s − a2 s − a2
1 1 j j
α + +β −
s − a2 s − a2 s − a2 s − a2
1 1 1 j j
=
f ( s ) cˆ1 + cˆ2 + + cˆ3 − + + d
s − a1 s − a2 s − a2 s − a2 s − a2
Carleton
UNIVERSITY Apendix-2 47
∏ ( s − zˆ ) ∏ ( s − z )
i i
n
∏ ( s − zˆ )
i =1
= i =1
f (s) i
n n i =1
= f (s)
∏(s − a ) ∏(s − a )
i =1
i
i =1
i
n
∏ ( s − z )
i
i =1