You are on page 1of 4

Modeling Multi-Port Systems from Frequency

Response Data via Tangential Interpolation
Sanda Lefteriu and Athanasios C. Antoulas
Department of Electrical and Computer Engineering
Rice University
Houston, TX, USA
sanda.lefteriu@rice.edu, aca@rice.edu
Abstract—System identification from frequency domain data
arises in many areas, e.g., in control, electronics, mechanical and
civil engineering and many other fields. Currently available tech-
niques work well for the single input single output case. However,
for the case of large numbers of inputs and outputs, present
methods are expensive. This paper proposes a new approach
which is based on the concept of tangential interpolation. Our
approach allows the identification of the underlying system using
small CPU times. The numerical results we present show that
our algorithms yield more accurate models in less time, when
compared to the column-wise implementation of vector fitting.
I. INTRODUCTION AND MOTIVATION
Measuring the frequency response of a system, be it electri-
cal, mechanical, structural, etc, over a desired frequency range
provides data which can be used to identify the underlying
system. This work employs measured scattering parameters
as frequency domain data, but the approach is general and
can be applied to any kind of system identification. The
problem of building a macromodel which approximates given
measurements of the response at various frequencies is known
as the rational interpolation problem and has been studied
thoroughly (see [1] for a survey). Most approaches are based
on least-squares approximations, for instance vector fitting [2],
[3], [4], which is widely used in the electronics community.
Some other algorithms, like [5], [6], [7], enforce passivity by
construction.
Our approach is based on the concept of tangential interpo-
lation, using, as a main tool, the Loewner matrix pencil. We
are able to construct models of low complexity using a small
CPU time and are mainly addressing the case of systems with
a large number of inputs and outputs.
II. THEORETICAL ASPECTS
We start with the simple case of rational approximation
from scalar data: (s
i
, φ
i
), i = 1, . . . , P, s
i
= s
j
, i = j,
and s
i
, φ
i
∈ C. We aim at finding H(s) =
n(s)
d(s)
, n, d coprime
polynomials, such that H(s
i
) = φ
i
, i = 1, . . . , P. This always
has a solution, e.g., the Lagrange interpolating polynomial.
Our main tool, however, is the Loewner matrix which is
constructed by partitioning the data in disjoint sets:

i
, w
i
), i = 1, . . . , k and (μ
j
, v
j
), j = 1, . . . , h,
where h, k ≈
_
P
2
¸
such that k +h = P, using the formula:
L
i,j
=
v
i
−w
j
μ
i
−λ
k
, L ∈ C
h×k
.
There are many reasons to use this tool. The degree of
the minimal interpolant is determined from the rank of the
Loewner matrices constructed using all possible partitions.
Moreover, the Loewner matrix has a system theoretic inter-
pretation in terms of observability and controllability matrices.
Finally, for data consisting of a single point and derivatives at
that point, the Loewner matrix has Hankel structure. Thus, the
Loewner matrix generalizes the Hankel matrix.
A. Tangential interpolation
Sampling matrix data directionally on the left and on the
right leads to the concept of tangential interpolation. The right
interpolation data is given as
{(λ
i
, r
i
, w
i
) | λ
i
∈ C, r
i
∈ C
m×1
, w
i
∈ C
p×1
, }, (1)
for i = 1, . . . , k, or, more compactly,
Λ = diag [λ
1
, · · · , λ
k
] ∈ C
k×k
, (2)
R = [r
1
, · · · , r
k
] ∈ C
m×k
, (3)
W= [w
1
, · · · , w
k
] ∈ C
p×k
, (4)
while the left interpolation data is given as
{(μ
j
,
j
, v
j
) | μ
j
∈ C,
j
∈ C
1×p
, v
j
∈ C
1×m
, }, (5)
for j = 1, . . . , h, or, more compactly,
M = diag [μ
1
, · · · , μ
h
] ∈ C
h×h
, (6)
L =


1
.
.
.

h


⎦ ∈ C
h×p
, V =



v
1
.
.
.
v
h


⎦ ∈ C
h×m
. (7)
The rational interpolation problem consists of finding a
realization in descriptor form [E, A, B, C, D], such that the
associated transfer function H(s) = C(sE − A)
−1
B + D,
satisfies the right and left constraints
H(λ
i
)r
i
= w
i
,
j
H(μ
j
) = v
j
. (8)
The key tools we use for addressing this are the Loewner and
the shifted Loewner matrices, associated with the data. We
refer to [8] for more details on these concepts.
B. The Loewner and the shifted Loewner matrices
Given a set Z = {z
1
, · · · , z
P
} of points in the complex
plane and the rational matrix function H(s) at those points:
{H(z
1
), · · · , H(z
P
)}, we can partition Z as:
Z = {λ
1
, · · · , λ
k
} ∪ {μ
1
, · · · , μ
h
},
978-1-4244-4489-2/09/$25.00 ©2009 IEEE SPI 2009
where h, k ≈
_
P
2
¸
and k +h = P. We build the right and left
data by selecting appropriate sampling directions r
i
and
j
.
The Loewner and the shifted Loewner matrices are defined
in terms of the data (1) and (5) as
L=



v1r1−1w1
μ1−λ1
· · ·
v1r
k
−1w
k
μ1−λ
k
.
.
.
.
.
.
.
.
.
v
h
r1−
h
w1
μ
h
−λ1
· · ·
v
h
r
k

h
w
k
μ
h
−λ
k


⎦∈ C
h×k
, (9)
σL=




μ1v1r1−λ11w1
μ1−λ1
· · ·
μ1v1r
k
−λ
k
1w
k
μ1−λ
k
.
.
.
.
.
.
.
.
.
μ
h
v
h
r1−λ1
h
w1
μ
h
−λ1
· · ·
μ
h
v
h
r
k
−λ
k

h
w
k
μ
h
−λ
k




∈ C
h×k
.(10)
Each entry above is scalar, as it is obtained by taking inner
products of the left and right data. The following lemma [8]
provides the solution to the tangential interpolation problem
in a simplfied case.
Lemma II.1. Assume that k = h, that the matrix pencil
(σL, L) is regular, and that μ
j
, λ
i
/ ∈ λ(σL, L). Then E = −L,
A = −σL, B = V, C = W and D = 0 is a minimal
realization of an interpolant of the data. Thus, the associated
transfer function H(s) = W(σL−sL)
−1
V satisfies both left
and right interpolation conditions.
III. MODELING SCATTERING PARAMETERS
Modeling multi-port systems from frequency-domain data
(for instance, scattering parameters) is formulated as a rational
approximation problem as follows. An LTI system approxi-
mately models the data set containing k measurements of the
S-parameters of a device with p input and output ports




f
i
, S
(i)
:=




S
(i)
11
. . . S
(i)
1p
.
.
.
.
.
.
.
.
.
S
(i)
p1
. . . S
(i)
pp








, i = 1, · · · , k,
if the value of the associated transfer function evaluated at
j · 2πf
i
= jω
i
, H(jω
i
), is close to the measured S
(i)
, ∀i.
To obtain a real system, the S-parameters at the complex
conjugate values of the sample points −jω
i
are set equal the
complex conjugates of the measurements S
(i)
, namely S
(i)
.
A. The Loewner matrix pencil in the complex implementation
We use columns and rows of the identity matrix of dimen-
sion p as sampling directions r
i
and
i
, respectively.
Remark. The fact that the p
2
entries of the matrix can be
collapsed into one vector of dimension p makes this method
suitable for devices with a large number of ports.
The right interpolation data can be chosen as
_
λ
i
= jω
i
, r
i
, w
i
= S
(i)
r
i
_
. (11)
for i = 1, · · · ,
k
2
. As right directions, we use r
i
= e
m

R
p×1
, with m = p for i = p · c
1
and m = 1, · · · , p − 1 for
i = p · c
1
+m, for some c
1
∈ Z, where e
m
denotes the m-th
column of the indentity matrix I
p
. Hence, the right data w
i
are columns of S
(i)
. More compactly,
Λ = diag [jω
1
, · · · , jω
k
] ∈ C
k×k
, (12)
R = [r
1
, · · · , r
k
] ∈ C
p×k
, (13)
W= [w
1
, · · · , w
k
] ∈ C
p×k
, (14)
while the left interpolation data are constructed as
_
μ
i
= −jω
i
,
i
, v
i
=
i
S
(i)
_
, (15)
with
i
= r
T
i
and the left data v
i
are rows of S
(i)
. Compactly,
M = diag [−jω
1
, · · · , −jω
k
] ∈ C
k×k
, (16)
L

=
_


1
· · ·

k
¸
, L ∈ C
k×p
, (17)
V

=
_
v

1
· · · v

k
¸
, V ∈ C
k×p
. (18)
After the tangential data have been identified, the Loewner
and shifted Loewner matrices are built as in (9)-(10).
B. The Loewner matrix pencil in the real implementation
To guarantee that the resulting system is real, the right
interpolation data can be chosen as
_

i
, −jω
i
; r
i
, r
i
; w
i
= S
(i)
r
i
, w
i
= S
(i)
r
i
_
, (19)
for i = 1, · · · ,
k
2
, with r
i
as in Sect. III-A. More compactly,
Λ = diag
_

1
, −jω
1
, · · · , jωk
2
, −jωk
2
_
, (20)
R =
_
r
1
, r
1
, · · · , rk
2
, rk
2
_
∈ C
p×k
, (21)
W =
_
w
1
, w
1
, · · · , wk
2
, wk
2
_
∈ C
p×k
, (22)
while the left interpolation data is constructed as
_

i+
k
2
, −jω
i+
k
2
;
i
,
i
; v
i
=
i
S
(i+
k
2
)
, v
i
=
i
S
(i+
k
2
)
_
.
(23)
for i = 1, · · · ,
k
2
, with
i
as in Sect. III-A. More compactly,
M = diag
_

1+
k
2
, −jω
1+
k
2
, · · · , jω
k
, −jω
k
_
, (24)
L

=
_


1


1
· · ·

k
2


k
2
_
, L ∈ C
k×p
, (25)
V

=
_
v

1
v

1
· · · v

k
2
v

k
2
_
, V ∈ C
k×p
. (26)
Without loss of generality, we assumed an even number of
samples. Next, the Loewner and shifted Loewner matrices are
built using Eq. (9)-(10). As a last step, a change of basis is
to be performed to ensure real matrix entries:
ˆ
Λ =
ˆ
Π

Λ
ˆ
Π,
ˆ
M =
ˆ
Π

M
ˆ
Π,
ˆ
L =
ˆ
Π

L,
ˆ
V =
ˆ
Π

V,
ˆ
R = R
ˆ
Π,
ˆ
W = W
ˆ
Π
ˆ
L =
ˆ
Π

L
ˆ
Π,
ˆ
σL =
ˆ
Π

σL
ˆ
Π, where
ˆ
Π = diag [Π, . . . , Π] ∈ C
k×k
, Π =
1

2
_
1 −j
1 j
_
.
IV. IMPLEMENTATION
We use all measurements to construct the Loewner matrix
pencil, in the complex (Sect. III-A) or real implementation
(Sect. III-B). Lemma II.1 assumes that the resulting Loewner
matrix pencil is regular. However, when too many measure-
ments are available, the pencil is singular, so one needs to
project out the singular part. Assuming that ∀x ∈ {λ
i
}∪{μ
i
},
rank (xL − σL) =: n, one can perform the singular value
decomposition:
xL −σL = Y
1
ΣX
1
, (27)
where Y
1
∈ C
k×n
, X
1
∈ C
n×k
and n is the dimension of
the regular part of xL − σL. Furthermore, it is precisely the
order of the underlying system. Using the singular vectors as
projectors, the realization is given as E = −Y

1
LX
1
, A =
−Y

1
σLX
1
, B = Y

1
V, C = WX
1
with D = 0 [8].
This approach is computationally expensive for data sets
with a large number of samples k, as the cost of the SVD
of the matrix xL − σL scales with k
3
. This is overcome by
adaptive approaches presented in [9], [10], [11].
A. Remarks on the D-term, stability and passivity
Our realizations have a zero D-term. Nonetheless, systems
may have D = 0. Suppose the order of the underlying system
with p ports is n and D = 0. This representation is equivalent
to a system of order n +p with E singular, A invertible and
D = 0. The poles of the new system are the n poles of
the original system together with p infinite ones. Given such a
realization, it can be written in the original form by recovering
the D-term. This is illustrated by the examples in Sect. V.
Our algorithms are able to identify the underlying system,
therefore, for data sets obtained from real-world systems, the
resulting models are stable (after extracting the necessary D-
term). Passivity is not enfored by construction, thus out of
band passivity violations may occur. Like in the VF approach,
these can be corrected by an a posteriori passivation enforce-
ment based on first-order perturbations, for example [12], [13].
Passivity can also be enforced by contruction in the current
framework, as in [14].
V. NUMERICAL RESULTS
We compare our approach to vector fitting on an a-priori
given system and on one where only measurements are avail-
able, in terms of accuracy and CPU time required to produce
a macromodel. The accuracy was assessed using:
• the normalized H

-norm of the error system, defined as:
H

error =
max
i=1...k
σ
1
_
H(jω
i
) −S
(i)
_
max
i=1...k
σ
1
_
S
(i)
_ ,
where σ
1
(·) denotes the largest singular value of (·).
• the normalized H
2
-norm of the error system:
H
2
error =

k
i=1
_
_
H(jω
i
) −S
(i)
_
_
2
F

k
i=1
_
_
S
(i)
_
_
2
F
,
where ·
2
F
stands for the Frobenius-norm, namely the
sum of the magnitude squared of all p
2
entries.
We used the column-wise implementation of fast, relaxed
vector fitting [2], [15], [16] with the following options:
• the starting poles are complex conjugate pairs with weak
attenuation, distributed over the frequency band
• each column was fitted using 5 iterations.
The experiments were performed on a Pentium Dual-Core
at 2.2GHz with 3GB RAM.
A. A-priori given system with 2 ports, 14 poles and D = 0
We consider a system of order 14 with p = 2 ports and
D = 0 [9], [10]. We take k = 608 samples of the transfer
function between 10
−1
and 10
1
rad/sec (Fig. 1(a)).
Fig. 1(b) shows the first 30 normalized singular values of
the Loewner and shifted Loewner matrices (the rest are zero).
The Loewner matrix has rank 14, while the shifted Loewner
matrix has rank 16, so, based on the drop of singular values
(Eq. (27)), we generate models of order 16 with D = 0. To
yield a realization of order 14, VF was given 7 starting poles.
10
−1
10
0
10
1
−80
−70
−60
−50
−40
−30
−20
−10
0
Frequency (rad/sec)
M
a
g
n
itu
d
e
(d
B
)
Singular Value Plot
(a) Original system
0 5 10 15 20 25 30
10
−15
10
−10
10
−5
10
0
index
lo
g
a
rith
m
ic
Normalized Singular Values
LL
sLL
(b) Singular value drop
Fig. 1. Original system and singular value drop of the Loewner matrix pencil
Table I presents the CPU time and the errors for the resulting
models. All proposed algorithms identified the original system,
while VF did not. If VF is given N = 14 starting poles, the
resulting errors are similar to ours. Each column is fit by the
same poles, so the realization has order n = 28 and each pole
has multiplicity 2. Recovering the original system requires an
additional compacting step [3].
Algorithm CPU (s) H∞ error H
2
error
VF 0.93 1.1324 5.8327e-002
SVD Complex 0.88 1.3937e-010 5.8900e-022
SVD Real 1.82 1.3146e-012 9.4168e-026
TABLE I
RESULTS FOR k = 608 NOISE-FREE MEASUREMENTS OF AN ORDER 14
SYSTEM WITH p = 2 PORTS
B. Example involving measurements
Measurements were provided by CST AG. For examples
with a larger number of ports, see [9]. This set contains k =
200 frequency samples between 5MHz and 1GHz of a system
with p = 16 ports. Fig. 2(a) shows the normalized singular
values of the Loewner and shifted Loewner matrices.
0 50 100 150 200
10
−16
10
−14
10
−12
10
−10
10
−8
10
−6
10
−4
10
−2
10
0
X: 27
Y: 0.03802
index
lo
g
a
rith
m
ic
Normalized Singular Values
X: 28
Y: 0.0008019
X: 43
Y: 0.0009489
X: 44
Y: 7.034e−005
LL
sLL
(a) SVD drop
0 50 100 150 200 250 300 350 400
10
−5
10
−4
10
−3
10
−2
10
−1
10
0
X: 27
Y: 0.3705
Hankel SVs of the VF model
(b) HSVs of the VF model
Fig. 2. Drop of the singular values of the Loewner matrix pencil and drop
of the Hankel singular values of the VF model of size n = 352
We notice the same behaviour as in the previous example.
The singular values of the Loewner matrix decay 2 orders
of magnitude between the 27th and 28th, while those of the
shifted Loewner matrix decay 1 order of magnitude between
the 43rd and 44th. This plot allows to identify the order of the
system and suggests that there is an underlying D-term. We
build models of order n = 43 with D = 0, so after recovering
the D-term, we have an order n = 43 − 16 = 27 model.
Table II summarizes the results. Vector fitting was required to
produce an asymptotic D matrix, but the closest order model
to n = 27 was n = 32. To obtain comparable errors, VF
needs to built an order n = 352 model. Fig. 2(b) shows that
the Hankel singular values of the VF n = 352 model exhibit
no decay around the 27th singular value. Thus, reducing to
order n = 27 using balanced truncation (BT), as also done
in [17], leads to unsatisfacorty results. One could also try a
compacting step, as presented in [3].
Algorithm CPU time (s) H∞ error H
2
error
VF (n=32, D = 0) 0.54 1.4315e+000 1.2178e-001
Complex (n=43, D = 0) 0.21 3.4795e-002 2.0945e-005
Real (n=43, D = 0) 0.14 8.3858e-002 3.5407e-005
VF (n=352, D = 0) 3.63 7.9734e-002 7.4647e-005
VF & BT (n=27, D = 0) 5.46 6.5170e-001 5.8586e-002
TABLE II
RESULTS FOR CONSTRUCTING A MODEL FROM A DATA SET OBTAINED
FROM A DEVICE WITH p = 16 PORTS
Our model constructed with the complex approach and the
VF model of order n = 32 are shown in Fig. 3. We also
present plots of the magnitude and angle of two entries of the
S-parameters in Fig. 4. We compare the measured S
3,2
and
S
7,15
entries to the model obtained with our complex approach
and to the order n = 32 model obtained with VF. The reason
behind the poor performance of vector fitting shown in Fig.
3 and 4 is the fact that each one of the 16 columns of the
S-parameters are fit by 32/16 = 2 poles. Thus, each column
shares only two common poles, which is clearly too restrictive.
10
7
10
8
10
9
10
10
−4
−3.5
−3
−2.5
−2
−1.5
−1
−0.5
0
0.5
Frequency (rad/sec)
M
a
g
n
itu
d
e
(d
B
)
Singular Value Plot
Data
Model
(a) Our Approach (n = 43, D = 0)
10
7
10
8
10
9
10
10
−35
−30
−25
−20
−15
−10
−5
0
5
Frequency (rad/sec)
M
a
g
n
itu
d
e
(d
B
)
Interpolating system obtained with VF
Data
Model
(b) VF (n = 32, D = 0)
Fig. 3. Models for a device with p = 16 ports
10
7
10
8
10
9
10
10
−50
−45
−40
−35
−30
−25
−20
−15
−10
Frequency (rad/sec)
M
a
g
n
itu
d
e
(d
B
)
Magnitude of S
3,2
data
our model
VF model
(a) Magnitude of S
3,2
10
7
10
8
10
9
10
10
−200
−150
−100
−50
0
50
100
150
200
Frequency (rad/sec)
A
n
g
le
(d
e
g
re
e
s
)
Angle of S
3,2
data
our model
VF model
(b) Angle of S
3,2
10
7
10
8
10
9
10
10
−40
−35
−30
−25
−20
−15
−10
Frequency (rad/sec)
M
a
g
n
itu
d
e
(d
B
)
Magnitude of S
7,15
data
our model
VF model
(c) Magnitude of S
7,15
10
7
10
8
10
9
10
10
−200
−150
−100
−50
0
50
100
150
200
Frequency (rad/sec)
A
n
g
le
(d
e
g
re
e
s
)
Angle of S
7,15
data
our model
VF model
(d) Angle of S
7,15
Fig. 4. Comparison of the performance in modeling different entries of the
measured S-parameters obtained from a device with p = 16 ports
VI. CONCLUSION
This paper summarizes some of the features of a new
approach to modeling multi-port systems from frequency
domain data. For details, see [9]. It is based on the concept
of tangential interpolation and empoys as a main tool the
Loewner matrix pencil, which is motivated by a system
theoretic consideration [8]. Tangential interpolation was also
adopted for model order reduction [18]. In this note, we
are adressing the issue of large number of ports. Our main
application used the scattering parameters but, due to the
generality of our approach, other kinds of frequency-domain
data can be considered. We compared the performance of
our method to state-of-the-art vector fitting on two numerical
examples and concluded that our approach is faster and,
moreover, identifies the order of the underlying system.
REFERENCES
[1] A. C. Antoulas, Approximation of Large-Scale Dynamical Systems.
Philadelphia: SIAM, 2005.
[2] B. Gustavsen and A. Semlyen, “Rational approximation of frequency
domain responses by vector fitting,” IEEE Trans. Power Del., vol. 14,
pp. 1052–1061, Jul. 1999.
[3] ——, “A robust approach for system identification in the frequency
domain,” IEEE Trans. Power Del., vol. 19, pp. 1167–1173, Jul. 2004.
[4] D. Deschrijver, “Broadband macromodeling of linear systems by vector
fitting,” Ph.D. dissertation, Universiteit Antwerpen, Oct. 2007.
[5] S.-H. Min and M. Swaminathan, “Construction of broadband passive
macromodels from frequency data for simulation of distributed inter-
connect networks,” IEEE Trans. Electromagn. Compat., vol. 46, no. 4,
pp. 544–558, Nov. 2004.
[6] R. Gao, Y. Mekonnen, W. Beyene, and J. Schutt-Aine, “Black-box
modeling of passive systems by rational function approximation,” IEEE
Trans. Adv. Packag., vol. 28, no. 2, pp. 209–215, May 2005.
[7] A. Woo and A. Cangellaris, “Real-part sufficiency and its application to
the rational function fitting of passive electromagnetic responses,” IEEE
International Microwave Symposium, pp. 99–102, June 2007.
[8] A. J. Mayo and A. C. Antoulas, “A framework for the solution of the
generalized realization problem,” Linear Algebra and Its Applications,
vol. 405, pp. 634–662, 2007.
[9] S. Lefteriu and A. C. Antoulas, “A new approach to model multi-port
systems from frequency response data,” IEEE Trans. Comput.-Aided
Design Integr. Circuits Syst., submitted for publication.
[10] S. Lefteriu and A. Antoulas, “A new adaptive approach to modeling
measured multi-port scattering parameters,” in Scientific Computing in
Electrical Engineering. Springer, 2008, accepted for publication.
[11] S. Lefteriu, “New approaches to modeling multi-port scattering param-
eters,” Master’s thesis, Rice University, Houston, TX, 2008.
[12] S. Grivet-Talocia, “Passivity enforcement via perturbation of Hamilto-
nian matrices,” IEEE Trans. Circuits Syst. I, vol. 51, pp. 1755–1769,
Sep. 2004.
[13] D. Saraswat, R. Achar, and M. Nakhla, “Fast passivity verification and
enforcement via reciprocal systems for interconnects with large order
macromodels,” IEEE Trans. VLSI Syst., vol. 15, pp. 48–59, Jan. 2007.
[14] A. C. Antoulas, “On the construction of passive models from frequency
response data,” Automatisierungstechnik, vol. 56, pp. 447–452, Aug.
2008.
[15] B. Gustavsen, “Improving the pole relocation properties of vector
fitting,” IEEE Trans. Power Del., vol. 21, no. 3, pp. 1587–1592, Jul.
2006.
[16] D. Deschrijver, M. Mrozowski, T. Dhaene, and D. De Zutter, “Macro-
modeling of multiport systems using a fast implementation of the vector
fitting method,” IEEE Microw. Wireless Compon. Lett., vol. 18, no. 6,
pp. 383–385, June 2008.
[17] F. Ebert and T. Stykel, “Rational interpolation, minimal realization and
model reduction,” DFG Research Center MATHEON, Tech. Rep. 371-
2007, 2007.
[18] P. Li and W. Shi, “Model order reduction of linear networks with massive
ports via frequency-dependent port packing,” in DAC ’06: Proceedings
of the 43rd annual conference on Design automation, pp. 267–272.