Gustavsen’s method: rational approximation
Gustavsen and Semlyen [
8] introduce the vector fitting procedure. This method is also called pole-fitting or rational approximation. Assuming that we have data F(s), the aim is to find all R
i, Q
i, D, and E in a residual expansion of the form
F^(s) (model) in
Eq. 16 by minimizing the (weighted) least-squares deviation from the measured data.
It is important to note that in our study, the data are only available as a function of ω; thus, we can rewrite the data F(s) as F(ω), which is related to the fitted function
F^(s) by F(ω)≈
F^(s)|
s=jω. A two-step process is performed in this fitting procedure, pole identification and residual identification. This procedure is accomplished by converting a nonlinear least squares problem to a linear least squares problem by introducing an unknown scaling function σ(s) and known poles (q
i in
Eq. 17).
As an initial step, the explicit algebraic expression of σ(s) and σ·
F^(s) is defined by Gustavsen and Semlyen [
8] using the vector system of equations,
(σ·F^(s)) and σ(s) share the same known poles qi and pi, d, and e terms must be found. Multiplying data F(ω) with the scaling function σ(s=jω) and evaluating over the many available frequency data points in F(ω), we can overdetermine this linear problem to estimate the unknown values of pi, bi, e, and d. The mathematical expression yields,
Once we estimate the values of p
i, b
i, e, and d in
Eq. 17, the equation can be redefined as a product form
Therefore, our fitting function
F^(s) in
Eq. 16 can be rewritten as
Thus, the zeros of the scaling function σ(s) (z
i in
Eq. 19) become the poles of the model function
F^(s) in
Eq. 20; therefore, z
i=Q
i. Gustavsen and Semlyen [
8] report that the residuals for
F^(s) (R
i, D, and E) can be calculated from p
i, d, e, and bi by using zi as the starting poles for
F^(s) (Q
i). Once this procedure is completed, we can approximate our data F(s) from the fitting function
F^(s), which yields R
i=p
i, D=d, and E=e (
Eq. 16 and
Eq. 17).
This algorithm is implemented by the method of Gustavsen and Semlyen [
8], while applying for function rationalfit.m of the MATLAB (MathWorks, Inc., Washington DC, USA). This is a reasonable way to automate a fitting to within a given error tolerance. To facilitate an understanding of this algorithm, the procedure of this function is briefly explained as follows: Starting from the initial pole, the algorithm increases the order of the poles and searches for the best fit until the fit reaches the specified error tolerance level. An appropriate selection of starting poles is necessary for the convergence of the vector fitting method. For data with a resonance peak in magnitude (i.e., our data), Gustavsen and Semlyen [
8] suggested that the complex conjugate pairs of the starting poles should be linearly distributed to achieve the best fitting result. Differences between the starting poles and the fitted poles can cause discrepancies between σ(s) and (σ·
F^)(s) [
8].
As the complex conjugate pairs of poles q
i (
Eq. 19) order changes, they converge to the true poles. Then the scaling function σ(s) will become 1, meaning that the calculated zeros z
i of σ(s) have values arbitrarily close to the values of the starting poles, q
i. This single process can iterate over the data’s frequency range until the fitting reaches the best fit. When it returns
Rz
i >0 referring to an unstable pole in
F^(s), this program reflects the real parts in the LHP before the next iteration. Thus, the fitting result forces a system to be stable.
One can also define the e and d values as initial conditions in that they affect the total number of fitted zeros, namely, N
z. For example, N
z is the same as the number of poles (N) when e is zero but d is not zero. If e and d are zero, we can have one fewer zeros than the poles because the numerator order is one less than the denominator (see
Eq. 17). Similarly, when d and e are both nonzero, N
z is N+1. In this study, we use the fitting condition with e zero and d nonzero, allowing us the same number of poles and zeros. We reach a slightly different fitting result by varying the initial value of e and d, but this does not critically affect the overall performance of the fitting result. Eventually, when this augmented equation is fitted to the given data F(ω) iterating toward σ(s)=1, the order of the poles for the fitting function meets the given error tolerance. The error is calculated using a mean squared error (MSE), in decibels, relative to the L2 norm of the signal:
Eq. 21 returns one single number (total error, not varying frequency) to evaluate goodness of fit. Note that in our study, we allow an MSE tolerance of -30 dB, which corresponds to a root mean square relative error of 3.16%.
Prony’s method
Another popular data fitting procedure used in this study is called the Prony method (PM) (developed by de Prony in 1795) [
9]. It models data as a linear combination of exponentials. However, the performance of the PM is known to be poor when the data contain noise [
10]. This method returns a large biased result due to the noise; for example, it fits exponentials to any additive noise present in the signal so that the damping terms become much greater than the actual values [
10]. To derive the mathematical formulation for the original Prony analysis, we can define a fitting function,
y^(n),
which is the sum of complex damped sinusoids, where Ai, σi, φi, and fi are amplitude, damping coefficient, phase, and frequency of component i, respectively. Also, L is the total number of the damped exponential components. This function estimates given data y(t), which consists of N samples y(tk)=y[k], where k=0, 1, 2, ..., N-1 are evenly spaced.
Via the Eulers theorem, the cos(2πfit+φi) term can be rewritten as a sum of exponentials:
Plugging
Eq. 23 into
Eq. 22 and letting t=kT when T is the sampling rate,
where Ci=Ai2ejφi and μi=e(σi+2jπfi)T.
The PM searches for the Ci and μi in three steps: First, it solves the linear prediction model, which is constructed by the observed data set. Second, it finds roots of characteristic polynomials formed from the linear prediction coefficients. Third, it solves the original set of linear equations to obtain estimates of the exponential amplitude and sinusoidal phase.
Based on these concepts, in this study we have utilized MATLAB’s built-in function prony.m to execute the Prony analysis. This function is for the time-domain design of infinite impulse response filters. It models a signal by employing a user-specified order of poles and zeros. In our study, we use the same numbers of poles and zeros (14 for each) taken from Gaustavsen’s previous fitting results to compare the two fitting results. The PM assumes that frequencies are not periodic, which means they are not a sum of harmonically related sinusoidals. If we want to fit irrational data, we can use the Prony algorithm. For example, if we want to add two irrational sine waves [such as sin(π) and sin(π)], then PM works. However, PM does not consider causality since there is no periodicity in the data. Therefore, this method is not relevant to our case as our data are causal supported through a Laplace transform. We compute the impulse response of the given frequency function (H(ω)2) via the inverse fast Fourier transform. The impulse response shows that our data are periodic in time. Therefore, Gustavsen’s method is appropriate in our case. As a result, we achieve a better data fit result from Gustavsen’s method. Details of the result are discussed later in this document.