Transient Analysis of Spatially Distributed Microwave Circuits Using

advertisement
TRANSIENT ANALYSIS OF SPATIALLY
DISTRIBUTED MICROWAVE CIRCUITS USING
CONVOLUTION AND STATE VARIABLES
by
METE OZKAR
A thesis submitted to the Graduate Faculty of
North Carolina State University
in partial fulfillment of the
requirements for the Degree of
Master of Science
ELECTRICAL ENGINEERING
Raleigh
1998
APPROVED BY:
Chair of Advisory Committee
Abstract
OZKAR, METE. Transient Analysis of Spatially Distributed Microwave Circuits Using Convolution and State Variables. (Under the direction of Michael B. Steer.)
A convolution-based transient analysis is developed. The implementation uses state variables and the separation of the circuit into linear and nonlinear subcircuits. The linear part is
formulated in the frequency domain according to the modified nodal admittance matrix formulation. This frequency domain matrix representation is then transformed into a time domain
impedance matrix through the inverse Fourier Transform technique. Some methods such as
augmentation and phase-shifting to bandlimit the frequency response are presented. The nonlinear equation is solved in the time domain by using a nonlinear equation solver and discrete
convolution techniques. The analysis is used to model a soliton line circuit.
Dedication
This thesis is dedicated to my parents and to my sister whose endless patience and understanding gave me motivation for my studies.
Biographical Summary
Mete Ozkar was born in Turkey on May 13, 1974. He received the B.S. degree in Electrical
Engineering at the Middle East Technical University. While pursuing the B.S. degree he worked
as a co-op for Aerodata, Braunschweig Germany in the summer of 1995. He was admitted into
the Masters Program at North Carolina State University in Fall 1996. While working toward his
M.S. degree he held a Research Assistantship with the Electronics Research Laboratory in the
Department of Electrical and Computer Engineering. His research interests include analog and
RF circuit design, microwave systems, and computer aided simulation of nonlinear circuits. He
is a member of the Institute of Electrical and Electronic Engineers and the Microwave Theory
and Techniques Society.
Acknowledgements
I wish to express my appreciation to my advisor Dr. Michael Steer for his continuous support
during this lengthy work. It has been an honor working with him in his quasi-optical group. I
would also like to thank Dr. Griff Bilbro and Dr. James Mink for serving on my committee.
I would like to express my appreciation to my graduate colleagues and everyone in our
quasi-optical research group for their help. First to Mr. Carlos Christoffersen for helping me
in understanding TRANSIM and programming. To Mr. Mostafa Abdulla, Mr. Ahmed Khalil,
Mr. Chris Hicks, Dr. Todd Nuteson, and Dr. Huan-sheng Hwang for answering my theoratical
questions. To Mr. Baribrata Biswas, Mr. Usman Azeez Mughal and Mr. Satoshi Nakazawa
for giving up their valuable time to help me in many different ways.
My special thanks go to all of my other friends for their moral support and encouragement.
And finally, I would like to express my gratitude to my past and present instructors who
taught me and who provided me useful information about electrical engineering.
Contents
List of Tables
vii
List of Figures
viii
List of Symbols
x
1 Introduction
1.1 Motivations and Objectives of This Study . . . . . . . . . . . . . . . . . . . . .
1.2 Thesis Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1
1
2 Literature Review
2.1 Convolution . . . . . . . . . . . . . . . .
2.1.1 Fourier Transform . . . . . . . . .
2.1.2 Laplace Transform . . . . . . . .
2.2 Aysmptotic Waveform Evaluation . . . .
2.2.1 AWE method in detail . . . . . .
2.2.2 Limitations . . . . . . . . . . . .
2.3 Steady-State Methods . . . . . . . . . .
2.3.1 The Shooting Method . . . . . .
2.3.2 Harmonic Balance . . . . . . . .
2.3.3 Sources of Error and Limitations
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
3
4
5
6
7
8
8
9
9
3 Convolution-Based Transient Analysis
3.1 Equation Formulation . . . . . . . . . . . . . . . . . .
3.2 Methods used in the analysis . . . . . . . . . . . . . . .
3.3 Implementation . . . . . . . . . . . . . . . . . . . . . .
3.3.1 Packages used in the implementation . . . . . .
3.3.2 Convolution . . . . . . . . . . . . . . . . . . . .
3.3.3 Thresholding, truncation and DC normalization
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
10
10
12
14
16
18
18
4 Results and Discussions
4.1 Soliton Line . . . . . . . . . . . . . . . . . . .
4.1.1 Nonlinear Transmission Lines . . . . .
4.1.2 Modeling . . . . . . . . . . . . . . . .
4.1.3 Simulation Results For the Soliton Line
4.2 A Simple Diode Circuit . . . . . . . . . . . . .
4.3 Analysis of running time . . . . . . . . . . . .
4.4 Experimental Data . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
19
19
19
19
20
28
29
30
vi
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5 Conclusions and Future Research
31
5.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.2 Future Research . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
A Netlist Examples and Terminology
36
A.1 The netlist for the soliton line with 47 diodes . . . . . . . . . . . . . . . . . . . . 36
A.2 The netlist for a simple diode circuit . . . . . . . . . . . . . . . . . . . . . . . . 42
A.3 Netlist Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
B Element Models
B.1 Transmission Line Model
B.1.1 Parameters . . .
B.1.2 Equations . . . .
B.2 Diode Model . . . . . . .
B.2.1 Parameters . . .
B.2.2 Equations . . . .
C Additions to TRANSIM
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
44
44
44
44
45
45
45
47
List of Tables
3.1 Software packages used in TRANSIM . . . . . . . . . . . . . . . . . . . . . . . .
17
4.1 Execution times for different number of sampling points . . . . . . . . . . . . . .
30
C.1 Added Transim file names and descriptions . . . . . . . . . . . . . . . . . . . . .
C.2 List of added functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
48
viii
List of Figures
2.1 The worst case example for the infinite impulse response . . . . . . . . . . . . .
4
3.1
3.2
3.3
3.4
3.5
3.6
3.7
The partitioning of the circuit into linear and nonlinear subcircuits . . . . . . .
Some examples of resistive augmentation and compensation circuits . . . . . . .
A quasi-optical cavity oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . .
An example of the calculation of the impulse response using FFT . . . . . . . .
An example of the calculation of the impulse response using FFT . . . . . . . .
General approach to the simulation using the convolution based transient analysis
The flow diagram of the analysis code . . . . . . . . . . . . . . . . . . . . . . . .
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
The soliton line model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
The augmentation networks used in the soliton line model . . . . . . . . . . . . 20
The first diode current for the 47 diode soliton line . . . . . . . . . . . . . . . . 20
The last diode current for the 47 diode soliton line . . . . . . . . . . . . . . . . . 21
The first diode state variable for the 47 diode soliton line . . . . . . . . . . . . . 21
The last diode state variable for the 47 diode soliton line . . . . . . . . . . . . . 22
The source voltage for the 47 diode soliton line . . . . . . . . . . . . . . . . . . . 22
The source current for the 47 diode soliton line . . . . . . . . . . . . . . . . . . 23
The direct impulse resonse as seen from the voltage source terminals in the 47
diode soliton line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
The enlarged version of Figure 4.9 . . . . . . . . . . . . . . . . . . . . . . . . . . 24
The cross impulse resonse as seen from the voltage source terminals in the 47
diode soliton line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
The real part of the direct impulse resonse in frequency domain as seen from the
voltage source in the 47 diode soliton line . . . . . . . . . . . . . . . . . . . . . . 25
The imaginary part of the direct impulse resonse in frequency domain as seen
from the voltage source terminals in the 47 diode soliton line . . . . . . . . . . . 25
The real part of the cross impulse resonse in frequency domain as seen from the
voltage source in the 47 diode soliton line . . . . . . . . . . . . . . . . . . . . . . 26
The imaginary part of the cross impulse resonse in frequency domain as seen
from the voltage source terminals in the 47 diode soliton line . . . . . . . . . . . 26
A comparision between the lossy and no loss case in terms of the state variables 27
A comparision between the lossy and no loss case in terms of the currents . . . . 27
The diode state variable for the simple circuit . . . . . . . . . . . . . . . . . . . 28
The diode current for the simple circuit . . . . . . . . . . . . . . . . . . . . . . . 28
The effect of phase-shift on the simple diode circuit solution . . . . . . . . . . . 29
Experimental data for the soliton line simulated . . . . . . . . . . . . . . . . . . 30
4.10
4.11
4.12
4.13
4.14
4.15
4.16
4.17
4.18
4.19
4.20
4.21
B.1 The diode model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ix
10
13
13
14
15
16
17
45
List of Symbols
f
fm
t
FFT
AWE
HB
X
X̂
X̂
VL
VLi
IN L
iN Lj
τ
Ft()
Ft,i()
ω
W
T
Msv
mij
Ssv
Ssvi
Sf ixed
ns
nt
NT
nτ
Y (f)
Ŷ (f)
F
R
G
C
L
l
dB
s
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
Frequency.
Boundary frequency.
Time.
Fast Fourier transform.
Asymptotic Waveform Evaluation.
Harmonic Balance.
State variable vector in frequency domain.
Time domain state variables in vector form.
A subset of X̂.
The linear voltage vector.
The linear voltage at the ith nonlinear node.
The nonlinear current vector.
j th element of IN L .
Phase shift constant.
Error function vector at a time point.
ith element of the error function vector at a time point.
Angular frequency.
Matrix that rearranges the nonlinear currents.
Transformation matrix.
State variable impedance matrix.
ij th element of Msv .
State variable source vector.
ith element of Ssv .
Ideal source vector.
Total number of state variables in the circuit.
Variable for discrete time.
Number of total time points.
Convolution variable for discrete time.
Admittance matrix representation in frequency domain.
Y (f) with phase shift.
Reference Frequency in the transmission line model.
Resistance parameter of the coaxial transmission line.
Conductance parameter of the coaxial transmission line.
Capacitance parameter of the coaxial transmission line.
Inductance parameter of the coaxial transmission line.
Physical length of the transmission line.
Decibel.
Seconds.
c
k
A(f)
tan δl
γ
ID
Ic
Id
vj
NLTL
CPW
Im{ }
∆f
–
–
–
–
–
–
–
–
–
–
–
–
–
Speed of light.
Dielectric contant.
Attenuation as a function of frequency.
Loss tangent of the coaxial transmission line.
Complex phase constant.
Total diode current.
Capacitor current in the diode model.
Conduction current in the diode model.
Voltage as a state variable in the diode model.
Nonlinear transmission line.
Coplanar waveguide.
Imaginary part of a complex number.
The smallest frequency increment.
Chapter 1
Introduction
1.1
Motivations and Objectives of This Study
Transient analysis of microwave circuits has been challenging because of convergence problems,
aliasing issues, the lengthy convolution and other numerical errors introduced by methods,
such as Newton’s method, when solving the nonlinear system. Harmonic balance plays a more
important role in microwave circuit modeling than transient analysis, but nevertheless, transient
analysis becomes important when analyzing oscillations and chaotic behaviour in microwave
circuits [3].
A motivation for this work was implementing the convolution-based transient analysis approach so that it can be used for any kind of linear/nonlinear circuit in microwaves.
Another motivation was to improve the pre-existing convolution-based transient analysis
developed by Basel [28]. The previous transient analysis had convergence problems in the
nonlinear system solution for the types of microwave circuits (spatial power combiners and
soliton lines) being modeled.
In implementing the convolution analysis it was desirable to make use of the frequency domain formulation of the linear subcircuit that is used in harmonic balance analysis in TRANSIM. In this way, the linear formulation is kept the same for both analysis types.
The most important achievements of this work are:
• Solving the problem of convergence by integrating a standard nonlinear equation solver
into the analysis code.
• Reducing the memory requirements in great amount by avoiding unnecessary convolution
loops and by using thresholding and truncation techniques that were developed previously
by Basel [28].
• Using state variables. This allows the use of parametrized device models including nonlinear behavioral models.
1.2
Thesis Overview
Chapter 2 presents a review of the previously published work done on transient analysis. Asymptotic waveform evaluation is discussed in detail and advantages/disadvantages compared to
convolution analysis techniques using the inverse Fourier Transform or the inverse Laplace
Transform are reviewed.
1
CHAPTER 1. INTRODUCTION
2
Chapter 3 covers the formulation and implementation of the convolution-based transient
analysis in detail.
In Chapter 4 the modeling of a soliton line and some simulation results are presented.
In Chapter 5 a summary of the thesis is given along with conclusions and suggestions for
future work in this topic.
Chapter 2
Literature Review
Several approaches are used in the transient analysis of circuits. One approach is to model
every circuit element in the time domain using differential equations. In the well known SPICE
implementation, every element has its companion model which consists of linear elements.
The values for these elements are chosen according to the differential equation that describes
the particular element. The solution is found by using numerical integration and iteration
techniques applied at each time step. An outline for the SPICE transient analysis is given by
Zuberek and et al. [42]. The stability properties of the integration methods in SPICE transient
analysis are investigated by Gubian and Zanella [36]. The simulation errors introduced by the
SPICE transient analysis is discussed by Brambilla and D`Amore [34]. Brambilla and D`Amore
show some unexpected results given by the trapezoidal integration algorithms in SPICE. They
argue that this type of effect is present in every simulated circuit and that they are in most
cases hidden by similar behavior of the circuit under analysis. According to the authors, this
kind of effect results in an erroneous transient which is only due to the trapezoidal algorithm
and not to the circuit which is working at its correct steady state.
2.1
Convolution
In microwave circuits, where the elements are described better in the frequency domain due to
the frequency dependent parameters, it is usually difficult to obtain a time domain model for
such elements as dispersive transmission lines. Also, the data obtained through measurements
is usually in the frequency domain. Another approach is to model the linear elements in the
frequency domain and then to shift into the time domain using a Laplace Transform, or a
Fourier Transform. Convolution can then be performed in the time domain to get the response
of the circuit. In this method the impulse response of the linear circuit is convolved with the
time domain representation of the nonlinear circuit.
2.1.1
Fourier Transform
The Discrete Fourier Transform inversion is generally done using the Fast Fourier Transform
(FFT) algorithms. The nature of the Fourier Transform requires periodic functions as its input.
Unfortunately, the frequency models for elements are usually non-periodic. The FFT algorithm
still treats these functions as periodic, by considering the non-periodic function as one period of
another periodic function. Aliasing effects occur in the inverse FFT (IFFT) unless the function
is bandlimited and it forms a smooth periodic waveform. Also, the continuous frequency domain
function is required to be sampled at the Nyquist rate to avoid aliasing.
3
CHAPTER 2. LITERATURE REVIEW
4
The worst case scenerio in this method is shown in Figure 2.1. Since both the transmission
line and the source are ideal, there is no loss in the circuit. The impulse wave travels endlessly
without being attenuated. This causes the time domain response to be of infinite time duration,
which is impossible to calculate with the FFT algorithms. Even for moderately lossy lines, the
duration of the response can exceed many transit times of the transmission line network and
the inverse FFT techniques become inefficient.
Since the frequency domain function cannot be sampled for all frequencies, a boundary
frequency has to be chosen. It is very important that the function is bandlimited to this chosen
frequency, otherwise aliasing effects will be observed.
Brazil has solved the problems of aliasing in his “causal convolution” method [1, 2]. He uses
techniques such as conversion to an all-transmission line network, conversion to non-minimumphase system function and time-domain windowing. Time-domain windowing removes the
effects of non-causality which appear as a tail on the discrete impulse response. Conversion to
non-minimum-phase system function becomes important when discontinuities at the boundary
frequency are present. By applying a phase shift the imaginary part is pulled down to zero.
Although the magnitude part of the phase-shifted function might have discontinuities in its
higher order derivatives at the boundary frequency, this technique is quite powerful when used
properly. This technique will be discussed further in Chapter 3. According to Brazil, the
capacitors and inductors can be made open and short circuits respectively at the boundary
frequency. Again, this results in a naturally periodic frequency function with no discontinuities.
Basel, on the other hand used resistive augmentation networks to bandlimit the time domain
response in the simulation of interconnection networks [28]. As it can be understood from Figure
2.1, convolution methods have problems dealing with low loss or lossless lines. This situation
can lead to an infinite impulse response for the line and a corresponding infinite computation
time to do the convolution. Basel used parasitic elements as natural filters in addition to
the resistive augmentation networks to achieve frequency bandlimiting and so to overcome the
problem described above.
Figure 2.1: The worst case example for the infinite impulse response
2.1.2
Laplace Transform
The Laplace inversion is done by numerical inversion techniques. This method does not have
aliasing problems since it does not have to assume that the function is periodic. The inverse
Laplace transform exists for both periodic and non-periodic functions. One does not have to
worry about the causality problem for double-sided Laplace Transforms, either. Unlike FFT
methods, the desired part of the circuit response can be achieved without doing tedious and
unrelated calculations for the other parts of the response. For example, if the circuit response
CHAPTER 2. LITERATURE REVIEW
5
for time t is required, this response can be calculated without the knowledge of the response
at other values of time. Laplace inversion techniques suffer from the series approximation so
the discontinuities cannot be seen exactly in the time domain. Another source of error for
numerical inversion comes from the nonlinear iterations involved.
The well known inversion integral for double-sided Laplace transform is:
1 Z e−j∞
1 Z e−j∞
st
G(s)e ds =
G(z/t)ez dz
g(t) =
2πj e+∞
2πj e+∞
(2.1)
where z = st. Approximating the function ez in (2.1) by a Padè rational function,
N
X
(M + N − i)!
HN,M (z) =
PN (z)
= M i=0
X
QM (z)
(−1)i (M + N − i)!
N
i
i=0
!
zi
M
i
!
(2.2)
z
i
can be obtained. Now, an approximated function ĝ for g(t) can be obtained by inserting (2.2)
into (2.1):
1
ĝ(t) =
2πjt
Z
0
e +j∞
0
e −j∞
G(z/t)HN,M (z)dz
(2.3)
The above integral can be evaluated using the residue theorem by choosing an infinite arc
as the closed contour [21]. By choosing N < M and closing the path of integration around the
poles in the right half plane, time response ĝ is obtained as:
ĝ(t) = −
M
1X
Ki g(zi/t), t > 0
t i=1
(2.4)
where Ki is the residue at the pole zi of HN,M (z).
2.2
Aysmptotic Waveform Evaluation
Asymptotic waveform evaluation (AWE) is an efficient and general technique for simulating
and modelling large linear(ized) circuits. This method approximates the transient portion of
the response by matching the initial boundary conditions and the first 2q − 1 moments of
the exact response to a lower q-pole model. The word asymptotic is used because as the
order of this approximation increases the response of the system approaches the actual solution
asymptotically.
The two major inspirations for AWE came from the work of Elmore [13] who estimated the
delays in RC-tree networks and the work of McCormick and Allen [14] who showed that the
interconnect circuit moments can be used to achieve lower order circuit models. Elmore delay
was the first moment-method that was applied to the interconnect problem.
Two steps are involved in the implementation of AWE algorithms. The first step is to
calculate the moments and the second step is to match these moments to a lower order frequency
domain function.
CHAPTER 2. LITERATURE REVIEW
2.2.1
6
AWE method in detail
A time domain solution of a differential equation or a network is assumed with the initial
conditions. The time domain solution is transformed into Laplace domain, usually by numeric
inversion techniques or convolution. Nakhla [4] provides a different fast method which does
not use neither convolution nor inversion techniques. He actually calculates the solution of the
nonlinear circuit at a time point in terms of the previous solution rather than in terms of a
solution that depends on all of the past solutions.
Let the solution of the system be x(t). The Laplace transform of this function, X(s) is
calculated by the one sided Laplace transformation equation as follows:
Z
X(s) =
∞
x(t)e−st dt
(2.5)
0
Using the Taylor series approximation about s = 0 (which becomes the Maclaurin Series) the
following is obtained:
Z
∞
1
x(t)[1 − st + s2 t2 − ...]dt
2
0
Z ∞
∞
X
1
(−s)k
=
tk x(t)dt
k!
0
k=0
X(s) =
(2.6)
The series coefficients are:
(−1)k Z ∞ k
t x(t)dt
(2.7)
k!
0
These coefficients are also called the time moments which can be computed for a lumped, linear,
time-invariant circuit using the initial conditions. The following matrix equation holds true for
a lumped, linear, time-invariant circuit irregardless of the equation formulation such as nodal
formulation, MNA formulation, and Tableau Analysis [20].
mk =
Mx(t) + N
dx
= b(t)
dt
(2.8)
The vector x(t) is the solution of the system, b(t) is the vector formed by the independent
sources and M and N are formed by the resistors, capacitors and inductors.
In the Laplace domain (2.8) becomes (assuming zero initial conditions)
(M + sN)X(s) = B(s)
(2.9)
If one is interested in the impulse response of the circuit, B(s) becomes B0 . Assuming that
X(s) is the impulse response and using a Taylor series approximation
(M + sN)(X0 + sX1 + s2 X2 + ....) = B0
(2.10)
is obtained. When X(s) is expanded at some point(s) other than zero this leads to frequency
shifting and multipoint AWE methods [19].
The following equations can be obtained by equating the coefficients of the terms with the
same order of s.
MX0 = B0
MXk = −NXk−1 for k > 0.
(2.11)
(2.12)
CHAPTER 2. LITERATURE REVIEW
7
These two equations can be solved recursively and by only using one LU-factorization [15]. The
2q moments will be the solutions of these equations. The first moments are calculated by a dc
analysis. That is the capacitors are replaced with open circuits and inductors are replaced with
short circuits. The calculated voltages across the capacitors and calculated currents through
the short circuited inductors will be the first set of moments. The next set of moments are then
calculated using these dc values [16].
Now, having calculated the moments, the frequency domain function can be re-written using
the moment expression given by (2.7):
Z
∞
Z
∞
1
x(t)dt + s2
2
0
0
2
= m0 + m1 s + m2s + ...
X(s) =
x(t)dt − s
Z
∞
x(t)dt + ...
(2.13)
0
As mentioned previously, these moments are matched to a lower order frequency domain function by using various techniques (such as Padè approximation). The reduced-order model
function with q poles has the form:
bq−1 sq−1 + ... + b1s + b0
X̃(s) =
aq sq + ... + a1s + 1
(2.14)
Equating (2.13) and (2.14) and solving the linear system of equations, the coefficients am and
bm can be obtained. Having obtained the coefficients, the roots of the denominator which are
the poles of the reduced-order model can be determined. Knowing the poles of the approximate
function, the partial fraction expansion can be applied to obtain the function in the following
form:
k1
k2
kq
+
+ ... +
s − p1 s − p2
s − pq
q
X kl
=
s − pl
l=1
X
kl /pl
=
q
l=1 1 − s/pl
X̃ =
(2.15)
Now that the impulse response of the circuit is known, the response of the circuit to any kind of
input can be determined. For example one can calculate the step response just by multiplying
(2.15) by 1/s and evaluating the inverse Laplace transform numerically.
2.2.2
Limitations
There are two major approaches for the moment-matching [6]. The first approach, called
pure moment matching is represented by the continued-fraction method of Chen and Shieh
[7] and the state-variable formulation of Bosley and Lees [8]. The second method, known as
stable moment matching, is represented by the Routh approximation [9] and Padè-Hurwitz
approximation. Other existing reduction methods are mentioned by Bosley and Lees [10, 8].
The pure moment-matching method is known to suffer from instability and sensitivity problems [10, 11]. Independent of the original system being stable or instable, the reduced model
can be instable. The Routh and Padè-Hurwitz methods solve the problem first by approximating the denominator of the frequency domain representation of the system with a lower
degree Hurwitz polynomial to achieve stability [12] and then matching certain moments by assigning proper coefficients to the numerator polynomial. Although these methods create stable
CHAPTER 2. LITERATURE REVIEW
8
approximates, the response of these approximates are usually not close to the original system
response.
LU factorization and the dc analysis involved in the AWE methods are usually the biggest
issues in determining efficiency. According to [15] the LU decomposition is O(n3 ) for an arbitrary circuit matrix. However, this reduces to O(n) for tree structured circuits when Sparse
matrix packages are used. Sparse matrix packages can be used to speed up the LU factorization to O(n1.4−1.7) for typical matrices. AWE is really powerful when analyzing the interconnect
structures since interconnects are large tree structures. AWE is much faster in the interconnect
circuit analysis than transient analysis, because only a few dc analyses are required to compute
all the moments and matching the moments to the actual poles and residues is efficient for a
small number of poles. Another issue in the limitations of AWE methods is that resistor loops
are undesirable in AWE method, because their currents are not known a priori.
An implementation of the AWE algorithm, RICE [16] approaches the above problems by
making use of path tracing, compaction and factorization techniques. AWEswit [22] is another
simulator which solves for the state variables in each of the continuous-time circuits that result from switching. PL-AWE is a general purpose circuit simulation program that has been
developed especially for the analysis of VLSI circuits [17]. It uses different approaches to the
AWE implementation to make the performance very good, but it has not been optimized for
execution efficiency.
AWE methods do not apply to nonlinear circuits naturally. For this reason, the nonlinear
circuits have to be linearized. One way to do this is to use piecewise linearization techniques
[17]. The multi-port characterization of the networks (macromodelling) have been applied to
nonlinear transient analysis [4, 18].
Special considerations have to be taken into account during the pole-zero computation of
large size microwave circuits and circuits with distributed elements . AWE technique can only
extract the low frequency poles because the moments carry information about the low-frequency
characteristics of the circuit. Different techniques (such as frequency hopping technique, the
usage of Markov parameters to improve the accuracy of the transient response near t = 0) have
been proposed [19].
2.3
Steady-State Methods
In microwave applications, steady-state periodic or quasi-periodic response of circuits is usually
of more interest than transient response. If transient analysis is used to obtain the steady-state
response of the circuit, one has to wait until the transients die out completely in order to see the
steady-state response. The transients in microwave frequencies might take a long time due to
the large time constants and hence the transient analysis becomes very inefficient to calculate
the steady-state response. This is where harmonic balance (HB) and shooting methods become
important.
2.3.1
The Shooting Method
The idea in shooting methods is to skip the transients by adjusting the initial conditions.
The resulting nonlinear system of algebraic equations can be solved using nonlinear iteration
methods. However, the convergence of these nonlinear iterations depend on the estimated
initial conditions. Transient analysis is the only rigorous way of obtaining a good estimate for
the required initial conditions so that the transients are bypassed. Also, transient analysis is
essential if transient information such as turn-on time or stability are required.
CHAPTER 2. LITERATURE REVIEW
2.3.2
9
Harmonic Balance
Harmonic balance analysis is the most powerful analysis technique if one is interested in steadystate response of a circuit. The conventional approach begins by partitioning the circuit into
linear and nonlinear subcircuits. The linear subcircuit is solved in the frequency domain while
the nonlinear subcircuit is solved in the time domain. The formulation starts by calculating
the error function of either the voltage waveforms or the current waveforms at the common
nodes between the two subcircuits. The resulting nonlinear equation can then be solved using
nonlinear iterative techniques.
2.3.3
Sources of Error and Limitations
Three sources of error are of concern in harmonic balance [23]. The first two result from
truncating the harmonics considered to be some finite number, and the third results from the
nonlinear iteration involved to solve the nonlinear system of equations. The calculation of the
inverse Jacobian in this nonlinear iteration solution seems to be the main source of cost in the
computation [26].
Even though the actual goal of the shooting method was to get away from the lengthy
and costly calculation of transients, transient analysis cannot be avoided completely. Another
drawback of the shooting method is again the dense Jacobian matrix that arises in the nonlinear
equation formulation [20]. Due to the lengthy inversion of this dense Jacobian matrix, the
method is inefficient.
Chapter 3
Convolution-Based Transient Analysis
The modified nodal admittance (MNA) matrix is currently used in TRANSIM for the frequency
domain formulation of the linear subcircuit of the network as shown in Figure 3.1. This new approach to transient analysis combines this frequency domain formulation with the state variable
formulation.
3.1
Equation Formulation
The idea of partitioning a circuit into linear and nonlinear parts was introduced by Nakhla and
Vlach [5] for harmonic balance analysis. This idea has been present in the circuit simulator
used here, called TRANSIM and has been used by both harmonic balance and transient analysis codes of the simulator. The frequency domain formulation for the linear subcircuit was
previously implemented by Christoffersen [27] and some of the equations are repeated here for
convenience.
ILl
1
0
Nonlinear
Device
I Lk
V1
IL1
LINEAR
V2
IL2
NETWORK
V3
1
0
0
1
Vl
1
0
0
1
Vk
1
0
1
0
0
1
Y(f)
1
0
Vm
0
1
1
0
Vn
0
1
ILm
I
IL3
Nonlinear
Device
Ln
Nonlinear
Device
Figure 3.1: The partitioning of the circuit into linear and nonlinear subcircuits
The vector of port voltages at the linear circuit in frequency domain is:
VL (X, f) = Ssv (f) + Msv (f) IN L(X, f)
(3.1)
where VL (X, f) is the linear voltage vector and X is the state variable vector with each element
10
CHAPTER 3. CONVOLUTION-BASED TRANSIENT ANALYSIS
11
containing all the frequency components of the same state variable. Therefore X is given by:



X=


x1,f0
x2,f0
..
.
x1,f1
x2,f1
x1,f2
x2,f2

···
···
x1,fm
x2,fm 

xns ,f0 xns,f1 xns ,f2 · · · xns ,fm



(3.2)
Expanding the matrix multiplication in equation (3.1), each element of the voltage vector
VL (X, f) can be written as:
VLi (X, f) = Ssvi +
ns
X
mij (f) iN Lj (X, f)
(3.3)
j=1
where mij is the ij th element of the matrix Msv and iN Lj is the j th element of the nonlinear
current matrix IN L. Equation (3.3) can be rewritten in time domain by replacing the multiplications with the convolution operation and replacing the frequency domain variables with their
time domain equivalents.
VLi (X̂, t) =
ns
X
mij (t) ∗ iN Lj (X̂, t) + Ssvi (t)
(3.4)
j=1
Expanding the convolution operation we get:
ns Z
X
VLi (X̂, t) =
t
j=1 −∞
mij (t − τ ) iN Lj (X̂, τ ) dτ
(3.5)
In order to do the convolution on the computer, the time domain equation needs to be in
discrete form.
Since the system is assumed to be causal, iN Lj = iN Lj (0) = 0 for t < 0. Therefore
VLi (X̂, nt ) =

ns  nX
t −1
X
j=1

mij (nt − nτ ) iN Lj (X̂, nτ )
nτ =0


NT
X
+
mij (nτ ) iN Lj (0) + Ssvi (nt )

nτ =nt +1
=

ns  nX
t −1
X
j=1

nτ =0


mij (nt − nτ ) iN Lj (X̂, nτ ) + Ssvi (nt )
(3.6)
and the error function at the ith nonlinear node is defined as
Ft,i(X̂) = VLi (X̂, nt ) − VN Li (X̂, nt )
(3.7)
In vector form, the error function of the complete system is

Ft(X̂) =

ns nX
t −1
X

mij (nt − nτ )iN Lj (nτ ) + Ssv1 (nt ) − VN L1

 j=1 nτ =0

 ns nt −1
 X X

mij (nt − nτ )iN Lj (nτ ) + Ssv2 (nt ) − VN L2

 j=1 nτ =0

 .
 ..

 ns nt −1
 X X

mij (nt − nτ )iN L (nτ ) + Ssv (nt ) − VN L
j
j=1 nτ =0
ns
ns
















(3.8)
ns ×1
CHAPTER 3. CONVOLUTION-BASED TRANSIENT ANALYSIS
3.2
12
Methods used in the analysis
Before converting the frequency domain MNA representation of the linear network into the
state variable time domain impedance matrix the frequency response needs to be bandlimited
so that the function forms a periodic waveform. This will reduce the aliasing errors during
the FFT operation. The idea behind this method implemented here was borrowed from [2].
The last frequency component of the imaginary part is pulled down to zero by multiplying the
whole frequency vector by ejwτ which corresponds to a time domain shift. Fortunately, for
most cases the time shift required for this correction is much smaller than the fixed time step
(which is calculated from the given information in the netlist) used in TRANSIM. Let Y (f) be
the frequency domain function which is assumed to be periodic since inverse FFT algorithm
is about to be applied. Here is the required operation to pull the value of Im{Y (f)} at the
boundary frequency (The highest frequency considered in the frequency formulation) to zero:
Ŷ (f) = Y (f)e−j2πf τ
(3.9)
This is a linear phase shift operation since each frequency is shifted by the same amount. One
has to be careful about a few points when using (3.9). The value of τ being greater than
some value will cause the exponential function to be periodic and this will introduce an extra
periodicity in every period of the multiplied function. The discrete version of (3.9) is
H(n∆f) = Y (n∆f)e−j2πn∆f τ
(3.10)
where n is the total number of dicrete frequencies. It is easy to see that if n∆fτ is greater
than 1, the multiplying exponential begins to repeat itself. Therefore, the condition on τ can
be found as:
n∆fτ ≤ 1
1
τ≤
n∆f
(3.11)
(3.12)
Another caution with the use of phase shift described by Brazil is related to the discontinuities in the higher derivatives of the magnitude part of the resulting function at the boundary
frequency [1]. But when used properly the effect of phase shifting on reducing discontinuities
at the boundary frequencies can be highly beneficial.
If the real part of the frequency vector is not bandlimited, a resistive augmentation circuit
can be used to overcome this problem. This type of augmentation circuit gave good results for
the simulation of interconnects for Basel’s work [40]. Some examples of resistive augmenation
circuits are shown in Figure 3.2. In these circuits R1 is usually chosen as positive and R2 is
chosen as negative.
An example for both addding a resistive augmentation circuit and phase shifting is seen in
Figure 3.4 and 3.5. The frequency domain y11 parameter of the cavity oscillator shown in Figure
3.3 (obtained from a code written by Nuteson [35]) was transformed into time domain using
IFFT command in MATLAB. Before the transformation, it was made sure that the frequency
domain function was bandlimited. The procedure described above was applied to achieve this.
Resistor values for the augmentation circuit were chosen as 50 Ω and 30 Ω for this case.
As it can be seen, time domain data has a tiny imaginary part (due to the FFT algorithm
in MATLAB) and a bandlimited real part. The modifications done in the frequency domain
can now be removed since the resistors are not frequency dependent and the phase shift just
corresponds to a time shift. If this is not done, the correct impulse response is not obtained since
CHAPTER 3. CONVOLUTION-BASED TRANSIENT ANALYSIS
R1
- R1
R2
Augmentation Network
- R2
Compensation Network
R1
- R1
Augmentation Network
Compensation Network
R1
- R1
Compensation Network
Augmentation Network
Figure 3.2: Some examples of resistive augmentation and compensation circuits
S
1
S
2
PARTIALLY
TRANSMITTING
REFLECTOR
PLANAR
REFLECTOR
ACTIVE
ANTENNA
ARRAY
2ay
z=d
^
a
y
z=D
^a
z
z= 0
Figure 3.3: A quasi-optical cavity oscillator
13
CHAPTER 3. CONVOLUTION-BASED TRANSIENT ANALYSIS
14
periodicity condition is the assumption when one takes IFFT or FFT of a function. Although
it is hard to see in the figure, the original impulse response does not completely die out but it
actually moves away from zero due to the aliasing effects. This would not be a realistic impulse
response and would yield errors in all other responses obtained from convolving this impulse
response with the other input function.
Figure 3.6 summarizes the methods described above. It shows the most general approach
to the simulation of a circuit using the implemented convolution based transient analysis. As
mentioned previously, the LC network provides natural filtering and the phase-shift and the
resistive networks bandlimit the frequency and the time domain responses of the linear network.
Cavity Oscillator Impulse Response
Frequency Domain Response
Real
Imaginary
y11
−5
y11
1
0.0176
x 10
0.8
0.6
Imaginary part of y11
Real part of y11
0.0174
0.0172
0.017
0.4
0.2
0
−0.2
−0.4
−0.6
0.0168
−0.8
0.0166
−20
−15
−10
−5
0
5
10
15
−1
−20
20
−15
−10
Impulse Response
Real
20
0
5
10
15
20
600
700
800
Imaginary
Impulse Response
−3
x 10
−5
frequency (GHz)
frequency (GHz)
Impulse Response
−5
2
x 10
1.5
15
Imaginary part
Real part
1
10
5
0.5
0
−0.5
0
−1
−5
0
100
200
300
400
500
discrete time
600
700
800
−1.5
0
100
200
300
400
500
discrete time
Figure 3.4: An example of the calculation of the impulse response using FFT
3.3
Implementation
The flow diagram for the implemented transient analysis is shown in Figure 3.7. After the netlist
is parsed and the frequency domain admittance representation of the linear network is formed,
the so-called compressed MNA matrix is obtained. The following operation is performed when
CHAPTER 3. CONVOLUTION-BASED TRANSIENT ANALYSIS
15
Cavity Oscillator Impulse Response
Step Response
Real
20
Imaginary
Step Response
−3
x 10
Step Response
−5
0.5
x 10
0
15
Imaginary part
Real part
−0.5
10
5
−1
−1.5
−2
−2.5
−3
0
−3.5
−5
0
100
200
300
400
500
600
700
−4
0
800
100
200
300
discrete time
Original Impulse Response
Real
500
600
700
800
Imaginary
Original Impulse Response
−3
14
400
discrete time
x 10
Original Impulse Response
0.015
12
10
0.01
Imaginary part
Real part
8
6
4
2
0.005
0
0
−0.005
−2
−4
0
100
200
300
400
500
600
700
800
900
−0.01
0
100
200
discrete time
300
400
500
600
700
800
900
discrete time
Final Step Response (Real):
0.0000000
Final Step Response (Imaginary):
-0.0000000
Final-10 Step Response (Real):
0.0000002
Final-10 Step Response (Imaginary): -0.0000011
Figure 3.5: An example of the calculation of the impulse response using FFT
CHAPTER 3. CONVOLUTION-BASED TRANSIENT ANALYSIS
L
C
R1
- R1
R2
- R2
R1
- R1
R2
- R2
16
NONLINEAR
DEVICE
L
C
LINEAR
e
jw
NETWORK
L
C
R1
- R1
R2
- R2
NONLINEAR
DEVICE
L
C
R1
- R1
R2
- R2
Filtering Augmentation
Network
Network
Compensation
Network
Figure 3.6: General approach to the simulation using the convolution based transient analysis
obtaining the compressed MNA matrix:
Msv (f) = T M −1W
(3.13)
Similarly, the compressed source matrix is
Ssv (f) = T M −1 Sf ixed
(3.14)
Again, the meanings of T and W matrices are discussed in Christoffersen’s work [25]. T
and W are used to get the correct linear matrix to be used in the state variable formulation
from the general representation in frequency domain. Msv (f) is an impedance matrix rather
than an admittance matrix, because the error function compares the voltages at the nonlinear
terminals. In general, ideal sources were of no concern during this work even though they were
implemented.
3.3.1
Packages used in the implementation
In developing the frequency model, the Sparse 1.2 package [30] was used. This is a package
that solves linear equations which have sparse matrices.
The nonlinear error equation formulated in (3.8) is solved using the NNES package [31].
At each time point the error function is calculated using the state variable vector that has an
initial value. This initial value is set to zero at zero time, but at other times different than
zero it is set to the previous time solution to improve the convergence and to decrease the
number of iterations. The NNES routine calls the element routines in order to calculate the
error function. Element routines return the nonlinear currents and voltages given the state
variable vector. Each call to the nonlinear element routines from NNES corresponds to one
iteration. The iterations continue until the error function value is close to zero. Each state
variable vector calculated as a solution of the error function equation is stored at each time
point. Once the end of the time points is reached, the results can be displayed.
The software packages used in TRANSIM are listed in Table 3.1.
CHAPTER 3. CONVOLUTION-BASED TRANSIENT ANALYSIS
Parse the
Netlist
Obtain
MNA
Create the compressed
Source and MNA
matrices
Transient Analysis
Time Domain
Conversion (FFT)
End of
time points?
NNES
Element
Routines
OUTPUT
Figure 3.7: The flow diagram of the analysis code
Table 3.1: Software packages used in TRANSIM
Sparse
Sparse matrix library
NNES
Nonlinear equation systems solver
ADOL-C Automatic differentiation package
Gnuplot
Plotting utility
17
CHAPTER 3. CONVOLUTION-BASED TRANSIENT ANALYSIS
3.3.2
18
Convolution
A lot has been said and published about convolution so far. The idea of convolving the impulse
response of the linear circuit with the nonlinear outputs or any input function is not new in
transient analysis. Gordon et al. have implemented a similar approach for a time domain simulation of multiconductor transmission lines [24]. However, they indicate that the convolution
integral, which becomes a convolution sum for the computer simulations, is O(n2) when it is
implemented (Here, n is the total number of discrete time points used). That is why they
use an exponential series approximation for the convolution sum. The implementation of the
convolution sum in the transient analysis described in this thesis uses less CPU time by simply
eliminating the “all-zero” frequency vectors. This greatly reduces the time and memory spent
for the convolution sum. However, it is still true that the CPU time to do convolution will
increase as the loop advances through the time steps. This causes the analysis to gradually
slow down as it progresses. This is unavoidable if one wants to calculate an exact convolution
sum without any approximations. Chiprout and Nakhla [4] have avoided the use of convolution
in the AWE method that they developed by expressing the current time point in terms of the
previous time point only.
3.3.3
Thresholding, truncation and DC normalization
Another way of reducing the time required for convolution is to use thresholding. Thresholding
is a way of improving the speed by sacrificing little accuracy. Also, truncation can be done if
all the points after some point are known to be zero. DC normalization is a correction for the
aliasing errors introduced by thresholding. For more on DC normalization and thresholding,
the reader is referred to Basel’s dissertation [28].
Chapter 4
Results and Discussions
4.1
4.1.1
Soliton Line
Nonlinear Transmission Lines
Nonlinear transmission lines (NLTLs) find applications in a variety of high speed, wide bandwidth systems including picosecond resolution sampling circuits, laser and switching diode
drivers, test waveform generators, and mm-wave sources [38]. They have three fundamental
characteristics: nonlinearity, dispersion and dissipation. The actual NLTLs consist of coplanar
waveguides (CPWs) periodically loaded with reverse biased Schottky dioes. In an ideal NLTL,
the balance between the nonlinearity of the loaded nonlinear elements and the dispersion of
the periodic structure can result in the formation of a stable solitary wave called a soliton [39].
The nonlinearity in NLTLs is due to the voltage dependent capacitance of the diodes and the
dissipation is due to the conductor losses in the CPWs.
4.1.2
Modeling
In this work, the NLTLs described above were modelled by regular low-loss coaxial transmission
lines and microwave diodes [32]. Skin effect was taken into account in the modelling of the
transmission lines. Details about the modelling issues can be found in Appendix B. The circuit
used as a model for NLTLs (shown in Figure 4.1) can either be excited by sinusoids with a DC
bias or by a pulse.
The augmentation network used is shown in Figure 4.2. Without the presence of this
augmentation network, convergence is not achieved. The resistive part of the augmentation
network is compensated in the nonlinear element routines. In this case R was chosen as 100
Ω and L was chosen as 1.0 nH. Convergence was not achieved for smaller values of L for the
particular choice of R. .
0000
1111
00
11
11
11 00
00
00 1010
11
+
~-
Figure 4.1: The soliton line model
19
CHAPTER 4. RESULTS AND DISCUSSIONS
20
L
+
~-
R
Augmentation networks
L
R
Figure 4.2: The augmentation networks used in the soliton line model
4.1.3
Simulation Results For the Soliton Line
Figures 4.3-4.15 show some simulation results for a soliton line excited by a pulse as shown in
Figure 4.7. The netlist for this soliton line with 47 diodes is shown in Appendix A.1.
The current of the first diode
0.12
0.1
Current (A)
0.08
0.06
0.04
0.02
0
−0.02
0
0.1
0.2
0.3
0.4
0.5
Time (ns)
0.6
0.7
0.8
0.9
1
Figure 4.3: The first diode current for the 47 diode soliton line
The time domain impulse responses are all limited in time as seen from Figure 4.9 and 4.11.
This means that the aliasing effects were minimized during the inverse FFT operation.
It has to be indicated here that the L value chosen (1 nH) was quite large and this affects
the behavior of the original circuit. Finding a way to obtain the optimum set of values for R
and L would solve this problem.
A comparision between the simulations of the 4 diode soliton line with lossy and no loss
transmission lines is shown in Figure 4.16 and 4.17. The losses were chosen small in order to
make the transmission line model accurate. The excitation voltage consisted of a -6 V DC and
a sinusoid with 6 V magnitude.
CHAPTER 4. RESULTS AND DISCUSSIONS
21
The current of the last diode
0.06
0.05
Current (A)
0.04
0.03
0.02
0.01
0
−0.01
0
0.1
0.2
0.3
0.4
0.5
Time (ns)
0.6
0.7
0.8
0.9
1
Figure 4.4: The last diode current for the 47 diode soliton line
The state variable of the first diode
2
0
Voltage (V)
−2
−4
−6
−8
−10
−12
0
0.1
0.2
0.3
0.4
0.5
Time (ns)
0.6
0.7
0.8
0.9
1
Figure 4.5: The first diode state variable for the 47 diode soliton line
CHAPTER 4. RESULTS AND DISCUSSIONS
22
The state variable of the last diode
1
0
Voltage (V)
−1
−2
−3
−4
−5
−6
0
0.1
0.2
0.3
0.4
0.5
Time (ns)
0.6
0.7
0.8
0.9
1
Figure 4.6: The last diode state variable for the 47 diode soliton line
The source voltage
0
−2
Voltage (V)
−4
−6
−8
−10
−12
0
0.1
0.2
0.3
0.4
0.5
Time (ns)
0.6
0.7
0.8
0.9
1
Figure 4.7: The source voltage for the 47 diode soliton line
CHAPTER 4. RESULTS AND DISCUSSIONS
23
The source current
0.35
0.3
0.25
Current (A)
0.2
0.15
0.1
0.05
0
−0.05
0
0.1
0.2
0.3
0.4
0.5
Time (ns)
0.6
0.7
0.8
0.9
1
Figure 4.8: The source current for the 47 diode soliton line
The direct Impulse response as seen from the voltage source
100
80
Impulse (Ohm)
60
40
20
0
−20
0
0.1
0.2
0.3
0.4
0.5
Time (ns)
0.6
0.7
0.8
0.9
1
Figure 4.9: The direct impulse resonse as seen from the voltage source terminals in the 47 diode
soliton line
CHAPTER 4. RESULTS AND DISCUSSIONS
24
The direct Impulse response as seen from the voltage source (Enlarged)
100
80
Impulse (Ohm)
60
40
20
0
−20
0
0.005
0.01
0.015
0.02
0.025
Time (ns)
0.03
0.035
0.04
0.045
0.05
Figure 4.10: The enlarged version of Figure 4.9
The cross impulse response as seen from the voltage source
1.2
1
Impulse (Ohm)
0.8
0.6
0.4
0.2
0
−0.2
0
0.1
0.2
0.3
0.4
0.5
Time (ns)
0.6
0.7
0.8
0.9
1
Figure 4.11: The cross impulse resonse as seen from the voltage source terminals in the 47 diode
soliton line
CHAPTER 4. RESULTS AND DISCUSSIONS
25
The frequency domain direct impulse response
100
90
Real impulse response (Ohm)
80
70
60
50
40
30
20
10
0
0
50
100
150
200
250
300
Frequency (GHz)
350
400
450
500
Figure 4.12: The real part of the direct impulse resonse in frequency domain as seen from the
voltage source in the 47 diode soliton line
The frequency domain direct impulse response
45
40
Imaginary impulse response (Ohm)
35
30
25
20
15
10
5
0
0
50
100
150
200
250
300
Frequency (GHz)
350
400
450
500
Figure 4.13: The imaginary part of the direct impulse resonse in frequency domain as seen from
the voltage source terminals in the 47 diode soliton line
CHAPTER 4. RESULTS AND DISCUSSIONS
26
The frequency domain cross impulse response
12
10
Real impulse response (Ohm)
8
6
4
2
0
−2
−4
0
50
100
150
200
250
300
Frequency (GHz)
350
400
450
500
Figure 4.14: The real part of the cross impulse resonse in frequency domain as seen from the
voltage source in the 47 diode soliton line
The frequency domain cross impulse response
4
Imaginary impulse response (Ohm)
2
0
−2
−4
−6
−8
−10
0
50
100
150
200
250
300
Frequency (GHz)
350
400
450
500
Figure 4.15: The imaginary part of the cross impulse resonse in frequency domain as seen from
the voltage source terminals in the 47 diode soliton line
CHAPTER 4. RESULTS AND DISCUSSIONS
27
The state variable of the last diode for the 4−diode soliton line
2
Lossy case
No loss case
0
Voltage (V)
−2
−4
−6
−8
−10
−12
0
0.1
0.2
0.3
0.4
0.5
Time (ns)
0.6
0.7
0.8
0.9
1
Figure 4.16: A comparision between the lossy and no loss case in terms of the state variables
The current through the last diode for the 4−diode soliton line
0.12
0.1
Current (A)
0.08
0.06
0.04
0.02
0
Lossy case
No loss case
−0.02
0
0.1
0.2
0.3
0.4
0.5
Time (ns)
0.6
0.7
0.8
0.9
1
Figure 4.17: A comparision between the lossy and no loss case in terms of the currents
CHAPTER 4. RESULTS AND DISCUSSIONS
4.2
28
A Simple Diode Circuit
The results shown in Figure 4.18 and 4.19 are the outputs of the netlist in Appendix A.2. Once
again it is important to have the capacitor and the inductor after the voltage source to provide
natural filtering. The careful choice of these inductance and capacitance values bandlimits the
frequency domain response of the circuit as seen from the voltage source. Also, phase-shifting
plays an important role in this circuit. Without phase-shifting the correct voltage levels are
not obtained. The results are compared with the HB analysis simulation results in Figure 4.18
and 4.19. The plots for HB show only one period of the solution, since it is known that the
solution is periodic.
The diode state variable
2
Transient Analysis
HB Analysis
1
voltage(V)
0
−1
−2
−3
−4
0
0.5
1
1.5
2
2.5
time(ns)
3
3.5
4
4.5
5
Figure 4.18: The diode state variable for the simple circuit
The diode current
0.04
Transient Analysis
HB Analysis
0.035
0.03
Current (A)
0.025
0.02
0.015
0.01
0.005
0
−0.005
0
0.5
1
1.5
2
2.5
Time (ns)
3
3.5
4
4.5
5
Figure 4.19: The diode current for the simple circuit
It is important to realize that the compared voltages may not always be the same, because
transient analysis outputs the state variable and the voltage obtained from HB analysis is
CHAPTER 4. RESULTS AND DISCUSSIONS
29
the actual voltage across the diode terminals. In this particular case, the series resistance
of the model (which is shown in Appendix B) is 10 Ω, and hence the state variable and the
voltage across the diode element are not the same. The difference becomes noticable when the
conduction current in the model dominates the current flowing through the diode. At all other
times when the low capacitor current is dominant and the diode is reverse biased, the voltages
are almost the same.
The state variable for two different netlists
2
0
−2
−4
Without phase−shift
With phase−shift
Voltage (V)
−6
−8
−10
−12
−14
−16
−18
0
0.5
1
1.5
2
2.5
Time (ns)
3
3.5
4
4.5
5
Figure 4.20: The effect of phase-shift on the simple diode circuit solution
Figure 4.20 shows the effect of phase-shifting for the transient analysis of this simple diode
circuit. It is clear that the voltage levels are not right and there is a lot of aliasing effects
seen in the output waveform of the diode state variable if the phase-shift is turned off. This is
an example of a circuit where phase-shift works well, however one should always consider the
limitations of this method as mentioned in Chapter 3. The time shift between the two results in
this case is not due to the phase-shift operation. Since the voltage across the diode is expected
to increase to a positive value due to the excitation source, the waveform observed for the case
without phase-shift is completely wrong.
4.3
Analysis of running time
Table 4.1 shows the running time for different parts of the transient analysis. The circuit used
here is described by the netlist in Appendix A.2. As the number of sampling points is increased
the IFFT time increases, as expected. If the number of sampling points are N, the computation
time for the IFFT is known to be proportional to N log N [37]. Although the IFFT time shown
is the total execution time of the related routine, rough calculations can still be made to see
that the above fact holds for this case, too. In order to minimize the effects of the calculations
other than the IFFT in the code, it is best to consider cases for the sampling points of 8192
and 16384. Using the proportionality, one expects a factor of 2.1538 and the measured IFFT
time is indeed in agreement with this.
Another point of interest in Table 4.1 is the execution time for the iteration routines. For
512 sampling points the time required to solve the nonlinear problem is almost twice the time
required for the 1024 sampling points. This is due to the fact that more frequency domain
information is available for the higher number of sampling points. Convergence gets more
CHAPTER 4. RESULTS AND DISCUSSIONS
30
Experimental result for the soliton line simulated
0
Voltage (V)
−5
−10
−15
40
50
60
70
Time (ps)
80
90
100
Figure 4.21: Experimental data for the soliton line simulated
difficult as interpolation needs to be done for the lower number of sampling points. For the
circuits simulated so far, 1024 was found to be the optimum number of sampling points. Using
more points than the optimum number of sampling points does not effect the execution time
too much for the nonlinear iterations.
Table 4.1: Execution times for different number of sampling points
Sampling points IFFT time(s) Total time(s) Iteration time(s)
512
0.08
33.40
33.06
1024
0.15
16.90
16.18
2048
0.29
17.27
15.91
4096
0.66
18.82
15.98
8192
1.66
22.12
16.00
16384
3.54
31.96
15.90
4.4
Experimental Data
Experimental data presented in Figure 4.21 was obtained from Case [38]. The voltage waveform
shown is the output voltage at the last diode of the circuit. In this case the NLTL was driven
by a 27 dBm sine wave with -3.0 V DC bias. The impulse of the waveform shown is 11.4 Vp−p
and has a duration of 5.1 ps.
Chapter 5
Conclusions and Future Research
5.1
Conclusions
A convolution based transient analysis with state variables was developed for the simulation of
spatially distributed microwave circuits. The important aspects implemented here are
• Bandlimited frequency representations for the linear subcircuit is the most important
issue in the convolution analysis implemented in this work.
• Augmentation networks are important in bandlimiting the frequency domain signals, in
minimizing the aliasing effects in the inverse FFT and in limiting the time domain impulse
responses.
• Natural filtering by the use of small capacitances and inductances provides bandlimiting.
• Careful use of phase-shifting can avoid the aliasing problems in the inverse FFT.
• The use of well-chosen state variables makes it easier to implement the nonlinear element
equations and improves the robustness of the analysis.
• The separation of the circuit into linear and nonlinear parts can still be used in transient
analysis with the linear part implemented in frequency domain and nonlinear part implemented in time domain. This provides an advantage because many nonlinear devices
such as sources can best be described in time domain. Devices with admittance parameter
descriptions in frequency can be included in the linear part.
5.2
Future Research
Several improvements can be added to the newly developed transient analysis in TRANSIM.
Of these improvements the most urgent one is to provide the compatibility with ADOL-C [29].
ADOL-C is a software package written in C and C++ that performs automatic differentiation.
This is urgent because it will definitely help the convergence issues in the nonlinear solution,
since the derivatives calculated by ADOL-C are exact. Currently, the differences are used to
approximate the required derivatives in the nonlinear equation solver or in the element routines.
ADOL-C can be used in both nonlinear element models and in the calculation of the Jacobian
matrix in the solution of the nonlinear equation system in order to reduce the nonlinear solution
time. ADOL-C is currently being used in the state variable harmonic balance analysis [25].
31
CHAPTER 5. CONCLUSIONS AND FUTURE RESEARCH
32
Christoffersen showed that the convergence rate was greater using automatic differentiation
than using differences in the case of harmonic balance [26].
Another improvement that can be made is in outputing the results. Currently, only the state
variables and currents at the nonlinear terminals can be viewed at the output. A large convolution operation is needed to calculate every voltage at every node in the circuit. Frequency
domain calculation is also possible provided that the aliasing issues discussed throughout the
thesis are solved.
Considering thermal issues and having the temperature parameters included in the transient
analysis (or in TRANSIM in general) is another subject for future work.
Bibliography
[1] T. J. Brazil Causal, “Causal Convolution-A New Method for the Transient Analysis of
Linear Systems at Microwave Frequencies,” IEEE Transactions on Microwave Theory and
Techniques, Vol. 43, no.2, pp. 315-23, February 1995.
[2] T. J. Brazil, “A New Method For The Transient Simulation of Causal Linear Systems
Described In The Frequency Domain,” IEEE MTT-S International Microwave Symposium
Digest, pp. 1485-88, 1992.
[3] M. B. Steer, “Simulation of Nonlinear Microwave Circuits - an Historical Perspective and
Comparisons,” IEEE MTT-S International Microwave Symposium Digest, Vol. 2, pp. 599602, 1991.
[4] E. Chiprout and M. Nakhla. “Fast nonlinear waveform estimation for large disributed
networks,” IEEE MTT-S International Microwave Symposium Digest, Vol. 3, pp. 13411344, June 1992.
[5] M. S. Nakhla and J. Vlach, “A piecewise harmonic balance tecnique for determination of
periodic response of nonlinear systems,” IEEE Transactions on Circuits and Systems, Vol.
CAS-23, pp. 85-91, February 1976.
[6] P. K. Chan, Comments on “Aysmptotic Waveform Evaluation for Timing Analysis,” IEEE
Transactions on CAD, Vol. 10, pp. 1078-79, August 1991.
[7] C. Chen and L. Shieh, “A novel approach to linear model simplification,” Int.J. Contr.,
Vol. 8, pp. 561-570, 1968.
[8] M. Bosley and F. Lees, “A survey of simple transfer-function derivations from high-order
state-variable models,” Automat., Vol. 8, pp. 765-775, 1972.
[9] M. F. Hutton and B. Friedland, “Routh approximations for reducing order of linear, timeinvariant systems,” IEEE Trans. Autom. Contr., Vol. AC-20, pp. 329-337, June 1975.
[10] S. Kung and D. Lin, Recent progress in linear system model -reduction via Hankel matrix approximation, Techical Report, Univ. Southern California, Department of Electrical
Engineering, 1980.
[11] R. F. Brown, “Model stability in use of moments to estimeate pulse transfer functions,”
Electron Lett., Vol. 7, pp. 587-589, September 1971.
[12] Y. Shamash, “Stable reduced-order models using Padè-type approximations,” IEEE Trans.
Autom. Contr., Vol. AC-19, pp. 615-616, October 1974.
33
BIBLIOGRAPHY
34
[13] W. C. Elmore, “The transient response of damped linear networks with particular regard
to wideband amplifiers,” Journal of Applied Physics, Vol. 19, no.1, pp. 55-63, 1948.
[14] “Modeling and Simulation of VLSI Interconnections with Moments,” Ph.D Dissertation,
Massachusetts Institute of Technology, June 1989.
[15] V. Raghavan, R. A. Rohrer, L. T. Pillage, J. Y. Lee, J. E. Bracken and M. M. Alaybeyi,
“AWE Inspired,” Proceedings of the Custom Integrated Circuits Conference, pp. 18.1.118.1.8, 1993.
[16] C. L. Ratzlaff and L. T. Pillage, “RICE: Rapid Interconnect Circuit Evaluation using
AWE,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems,
Vol. 13, pp 763-76, June 1994.
[17] C. T. Dikmen, M. M. Alaybeyi, S. Topcu, A. Atalar, E. Sezer, M. A. Tan, and R. A.
Rohrer, “Piecewise Linear Asymptotic Waveform Evaluation For Transient Simulation
of Electronic Circuits,” Proceedings of IEEE International Symposium on Circuits and
Systems, pp. 854-57, June 1991.
[18] R. J. Trihy and R. A. Rohrer, “AWE macromodels for nonlinear circuits,” Proceedings of
the 36th Midwest Symposium on Circuits and Systems, Vol. 1., pp. 633-636, August 1993.
[19] M. Celik, O. Ocali, M. A. Tan, and A. Atalar, “Pole-zero computation in microwave circuits
using multipoint Padè approximation, IEEE Transactions on Circuits and Systems,” Vol.
42, pp. 6-13, January 1995.
[20] P. J. C. Rodrigues, Computer-aided analysis of nonlinear microwave circuits, Artech House,
1998.
[21] R. V. Churchill and J. W. Brown, Complex Variables and Applications, 5th edition, McGraw Hill, 1990.
[22] R. J. Trihy and R. A. Rohrer, “AWEswit: A Switched Capacitor Circuit Simulator,” IEEE
Journal of Solid State Circuits, Vol. 29, pp. 217-25, March 1994.
[23] K. S. Kundert, J. K. White and A. Sangiovanni-Vincentelli, Steady-state methods for simulating analog and microwave circuits, Boston, Dordrecht, Kluwer Academic Publishers,
1990.
[24] C. Gordon, T. Blazeck and R. Mittra, “Time Domain Simulation of Multiconductor Transmission Lines with Frequency-Dependent Losses,” IEEE Transactions on Computer Aided
Design of Integrated Circuits and Systems, Vol. 11, pp. 1372-87, November 1992.
[25] C. E. Christoffersen, State Variable Harmonic Balance Simulation of a Quasi-optical Power
Combining System, M.S. Thesis, Department of Electrical and Computer Engineering,
North Carolina State University, Raleigh, North Carolina, U.S.A., 1998.
[26] C. E. Christoffersen, Private Communication.
[27] C. E. Christoffersen, M. B. Steer and M. A. Summers, “Harmonic Balance Analysis For
Systems With Circuit-Field Interactions”, IEEE MTT-S International Microwave Symposium, June 1998.
BIBLIOGRAPHY
35
[28] M. S. Basel, Simulation of High Speed Digital Circuit Interconnection Networks, Ph.D
Dissertation, Department of Electrical and Computer Engineering, North Carolina State
University, Raleigh, North Carolina, U.S.A., 1993.
[29] A. Griewank, D. Juedes, J. Utke, “Adol-C: A Package for the Automatic Differentiation
of Algorithms Written in C/C++,” Version 1.7, September 1996.
[30] K. S. Kundert, A. Songiovanni-Vincentelli, Sparse User’s Guide - A Sparse Linear Equation Solver, Department of Engineering and Computer Sciences, University of California,
Berkeley, California, U.S.A, Version 1.3a, April 1988.
[31] R. S. Bain, NNES User’s Manual, 1993.
[32] Compact Software, Microwave Harmonica Elements Library , 1994.
[33] M. A. Summers, Simulation of a quasi-optical grid amplifier, M.S. Thesis, Department
of Electrical and Computer Engineering, North Carolina State University, Raleigh, North
Carolina, U.S.A., 1998.
[34] A. Brambilla and D. D`Amore, “The Simulation Errors Introduced by the SPICE Transient
Analysis,” IEEE Transactions on Circuits and Systems, Vol. 40, pp 57-60, January 1993.
[35] T. W. Nuteson, Electromagnetic Modeling of Quasi-Optical Power Combiners, Ph.D Dissertation, Department of Electrical and Computer Engineering, North Carolina State University, Raleigh, North Carolina, U.S.A., 1996.
[36] P. Gubian, M. Zanella, “Stability properities of integration methods in SPICE transient
analysis,” Proceedings IEEE International Symposium on Circuits and Systems, Vol. 5, pp.
2701-4, 1991.
[37] A. V. Oppenheim, R. W. Schafer, Dicrete-Time Signal Processing, Prentice-Hall, Inc.,
1989.
[38] M. G. Case, Nonlinear Transmission Lines For Picosecond Pulse, Impulse and Millimeterwave Harmonic Generation, Ph.D Dissertation, Department of Electrical and Computer
Engineering, University of California, Santa Barbara, California, U.S.A., 1993.
[39] H. Shi, C. W. Domier, N. C. Luhmann, “A monolithic nonlinear transmission line system
for the experimental study of lattice solutions,” Journal of Applied Physics, Vol 4., pp.
2558-64, August 1995.
[40] M. S. Basel, M. B. Steer, P. D. Franzon, “Simulation of High Speed Interconnects Using a
Convolution-Based Hierarchical Packaging Simulator,” IEEE Transactions on components,
packaging, and manufacturing technology, Vol. 18 no. 2, pp. 74-82, February 1995.
[41] Series IV Manual, Circuit Network Items, p. 19-9, July 1995.
[42] W. M. Zuberek, A. Konczykowska, H. Wang, “Distributed Transmission Lines and TimeDomain Analysis in SPICE-like Circuit Simulators,” IEEE International Symposium on
Circuits and Systems, pp. 709-12, 1989.
Appendix A
Netlist Examples and Terminology
This appendix contains the netlists that were used to produce the results shown in the thesis.
The voltage source in the netlist in section A.1 is the Thevenin equivalent of the original voltage
source with the augmentation resistor. In order to get the actual value across the terminals
of this voltage source, one should divide the voltage levels in the parameter description of the
voltage source by 8.
A.1
The netlist for the soliton line with 47 diodes
svtr_47cellpulse.net
.options type = "svtr"
*.options dcNormal = "on"
.options delay = "on"
.options tr_debug = "on"
.options keep_svM = "on"
.options
.options
.options
.options
.options
.options
ind = 1.0nH
rs = 1.0
bv = -30.0
fs = 1.0e10
tl = 0.0001
zc = 75.0
.tran 0 1000.0e-12 0.
.options spts = 2048
.options type = "svtr" sfrq = 500.e9
.options LPFOrder = 3 impulselength = 1
.options ytthresthru = 0.00 ytthrescross = 0.0
.options impulsescale = 1.0
.options tolerance = 1.0e-6 maxNoOfIterates = 100
.options LPFCornerFrequency = 500e9
*vsin:1 203 0 rs = 300.0 mag = 48 dc = -48 freq = 9e9
vpulse:1 203 0 rs = 300.0 tr = 100.0e-12 clockspeed = 4.0e9
+
tf = 100e-12 high = -100.0 low = 0.0 starttime = 0.0
+
sequence = "1000000000000"
res:s3 0 203 r=100
ind:1 203 201 l=ind
diode:d1 401 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
36
APPENDIX A. NETLIST EXAMPLES AND TERMINOLOGY
+ r0 = rs fi=0.643 gama=0.451 jb=0. vb= bv area=271.64
ind:d1 1 401 l=ind
res:d11 401 0 r=100
diode:d2 402 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=0. vb= bv area=258.63
ind:d2 2 402 l=ind
res:d21 402 0 r=100
diode:d3 403 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=246.24
ind:d3 3 403 l=ind
res:d31 403 0 r=100
diode:d4 404 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=234.45
ind:d4 4 404 l=ind
res:d41 404 0 r=100
diode:d5 405 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=223.21
ind:d5 5 405 l=ind
res:d51 405 0 r=100
diode:d6 406 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=212.52
ind:d6 6 406 l=ind
res:d61 406 0 r=100
diode:d7 407 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=202.34
ind:d7 7 407 l=ind
res:d71 407 0 r=100
diode:d8 408 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=192.65
ind:d8 8 408 l=ind
res:d81 408 0 r=100
diode:d9 409 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=183.42
ind:d9 9 409 l=ind
res:d91 409 0 r=100
diode:d10 410 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=174.63
ind:d10 10 410 l=ind
res:d101 410 0 r=100
diode:d11 411 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=166.27
ind:d11 11 411 l=ind
res:d111 411 0 r=100
diode:d12 412 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=158.3
ind:d12 12 412 l=ind
37
APPENDIX A. NETLIST EXAMPLES AND TERMINOLOGY
res:d121 412 0 r=100
diode:d13 413 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=150.72
ind:d13 13 413 l=ind
res:d131 413 0 r=100
diode:d14 414 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=143.5
ind:d14 14 414 l=ind
res:d141 414 0 r=100
diode:d15 415 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=136.63
ind:d15 15 415 l=ind
res:d151 415 0 r=100
diode:d16 416 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=130.08
ind:d16 16 416 l=ind
res:d161 416 0 r=100
diode:d17 417 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=123.85
ind:d17 17 417 l=ind
res:d171 417 0 r=100
diode:d18 418 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=117.92
ind:d18 18 418 l=ind
res:d181 418 0 r=100
diode:d19 419 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=112.27
ind:d19 19 419 l=ind
res:d191 419 0 r=100
diode:d20 420 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=106.89
ind:d20 20 420 l=ind
res:d201 420 0 r=100
diode:d21 421 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=101.77
ind:d21 21 421 l=ind
res:d211 421 0 r=100
diode:d22 422 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=96.89
ind:d22 22 422 l=ind
res:d221 422 0 r=100
diode:d23 423 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=92.25
ind:d23 23 423 l=ind
res:d231 423 0 r=100
38
APPENDIX A. NETLIST EXAMPLES AND TERMINOLOGY
diode:d24 424 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=87.83
ind:d24 24 424 l=ind
res:d241 424 0 r=100
diode:d25 425 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=83.63
ind:d25 25 425 l=ind
res:d251 425 0 r=100
diode:d26 426 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=79.62
ind:d26 26 426 l=ind
res:d261 426 0 r=100
diode:d27 427 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=75.81
ind:d27 27 427 l=ind
res:d271 427 0 r=100
diode:d28 428 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=72.18
ind:d28 28 428 l=ind
res:d281 428 0 r=100
diode:d29 429 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=68.72
ind:d29 29 429 l=ind
res:d291 429 0 r=100
diode:d30 430 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=65.43
ind:d30 30 430 l=ind
res:d301 430 0 r=100
diode:d31 431 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=62.29
ind:d31 31 431 l=ind
res:d311 431 0 r=100
diode:d32 432 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=59.31
ind:d32 32 432 l=ind
res:d321 432 0 r=100
diode:d33 433 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=56.47
ind:d33 33 433 l=ind
res:d331 433 0 r=100
diode:d34 434 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=53.76
ind:d34 34 434 l=ind
res:d341 434 0 r=100
diode:d35 435 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=51.19
39
APPENDIX A. NETLIST EXAMPLES AND TERMINOLOGY
ind:d35 35 435 l=ind
res:d351 435 0 r=100
diode:d36 436 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=48.73
ind:d36 36 436 l=ind
res:d361 436 0 r=100
diode:d37 437 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=46.4
ind:d37 37 437 l=ind
res:d371 437 0 r=100
diode:d38 438 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=44.18
ind:d38 38 438 l=ind
res:d381 438 0 r=100
diode:d39 439 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=42.06
ind:d39 39 439 l=ind
res:d391 439 0 r=100
diode:d40 440 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=40.05
ind:d40 40 440 l=ind
res:d401 440 0 r=100
diode:d41 441 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=38.13
ind:d41 41 441 l=ind
res:d411 441 0 r=100
diode:d42 442 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=36.3
ind:d42 42 442 l=ind
res:d421 442 0 r=100
diode:d43 443 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=34.56
ind:d43 43 443 l=ind
res:d431 443 0 r=100
diode:d44 444 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=32.91
ind:d44 44 444 l=ind
res:d441 444 0 r=100
diode:d45 445 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=31.33
ind:d45 45 445 l=ind
res:d451 445 0 r=100
diode:d46 446 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=29.83
ind:d46 46 446 l=ind
res:d461 446 0 r=100
40
APPENDIX A. NETLIST EXAMPLES AND TERMINOLOGY
diode:d47 447 0 js=1.e-12 alfa=38.696 e=10 ct0=1.08e-15
+ r0 = rs fi=0.643 gama=0.451 jb=1.e-5 vb=bv area=28.4
ind:d47 47 447 l=ind
res:d471 447 0 r=100
*
tlinp:t0 201 1 z0mag=zc length=501.29e-6 k=7 tand=tl f=Fs
tlinp:t1 1 2 z0mag=zc length=978.57e-6 k=7 tand=tl f=Fs
tlinp:t2 2 3 z0mag=zc length=931.69e-6 k=7 tand=tl f=Fs
tlinp:t3 3 4 z0mag=zc length=887.06e-6 k=7 tand=tl f=Fs
tlinp:t4 4 5 z0mag=zc length=844.57e-6 k=7 tand=tl f=Fs
tlinp:t5 5 6 z0mag=zc length=804.11e-6 k=7 tand=tl f=Fs
tlinp:t6 6 7 z0mag=zc length=765.59e-6 k=7 tand=tl f=Fs
tlinp:t7 7 8 z0mag=zc length=728.92e-6 k=7 tand=tl f=Fs
tlinp:t8 8 9 z0mag=zc length=694.00e-6 k=7 tand=tl f=Fs
tlinp:t9 9 10 z0mag=zc length=660.75e-6 k=7 tand=tl f=Fs
tlinp:t10 10 11 z0mag=zc length=629.10e-6 k=7 tand=tl f=Fs
tlinp:t11 11 12 z0mag=zc length=598.97e-6 k=7 tand=tl f=Fs
tlinp:t12 12 13 z0mag=zc length=570.27e-6 k=7 tand=tl f=Fs
tlinp:t13 13 14 z0mag=zc length=542.96e-6 k=7 tand=tl f=Fs
tlinp:t14 14 15 z0mag=zc length=516.95e-6 k=7 tand=tl f=Fs
tlinp:t15 15 16 z0mag=zc length=492.18e-6 k=7 tand=tl f=Fs
tlinp:t16 16 17 z0mag=zc length=468.61e-6 k=7 tand=tl f=Fs
tlinp:t17 17 18 z0mag=zc length=446.16e-6 k=7 tand=tl f=Fs
tlinp:t18 18 19 z0mag=zc length=424.79e-6 k=7 tand=tl f=Fs
tlinp:t19 19 20 z0mag=zc length=404.44e-6 k=7 tand=tl f=Fs
tlinp:t20 20 21 z0mag=zc length=385.06e-6 k=7 tand=tl f=Fs
tlinp:t21 21 22 z0mag=zc length=366.62e-6 k=7 tand=tl f=Fs
tlinp:t22 22 23 z0mag=zc length=349.05e-6 k=7 tand=tl f=Fs
tlinp:t23 23 24 z0mag=zc length=332.33e-6 k=7 tand=tl f=Fs
tlinp:t24 24 25 z0mag=zc length=316.41e-6 k=7 tand=tl f=Fs
tlinp:t25 25 26 z0mag=zc length=301.26e-6 k=7 tand=tl f=Fs
tlinp:t26 26 27 z0mag=zc length=286.83e-6 k=7 tand=tl f=Fs
tlinp:t27 27 28 z0mag=zc length=273.09e-6 k=7 tand=tl f=Fs
tlinp:t28 28 29 z0mag=zc length=260.00e-6 k=7 tand=tl f=Fs
tlinp:t29 29 30 z0mag=zc length=247.55e-6 k=7 tand=tl f=Fs
tlinp:t30 30 31 z0mag=zc length=235.69e-6 k=7 tand=tl f=Fs
tlinp:t31 31 32 z0mag=zc length=224.40e-6 k=7 tand=tl f=Fs
tlinp:t32 32 33 z0mag=zc length=213.65e-6 k=7 tand=tl f=Fs
tlinp:t33 33 34 z0mag=zc length=203.42e-6 k=7 tand=tl f=Fs
tlinp:t34 34 35 z0mag=zc length=193.67e-6 k=7 tand=tl f=Fs
tlinp:t35 35 36 z0mag=zc length=184.39e-6 k=7 tand=tl f=Fs
tlinp:t36 36 37 z0mag=zc length=175.56e-6 k=7 tand=tl f=Fs
tlinp:t37 37 38 z0mag=zc length=167.15e-6 k=7 tand=tl f=Fs
tlinp:t38 38 39 z0mag=zc length=159.14e-6 k=7 tand=tl f=Fs
tlinp:t39 39 40 z0mag=zc length=151.52e-6 k=7 tand=tl f=Fs
tlinp:t40 40 41 z0mag=zc length=144.26e-6 k=7 tand=tl f=Fs
tlinp:t41 41 42 z0mag=zc length=137.35e-6 k=7 tand=tl f=Fs
tlinp:t42 42 43 z0mag=zc length=130.77e-6 k=7 tand=tl f=Fs
tlinp:t43 43 44 z0mag=zc length=124.51e-6 k=7 tand=tl f=Fs
tlinp:t44 44 45 z0mag=zc length=118.54e-6 k=7 tand=tl f=Fs
tlinp:t45 45 46 z0mag=zc length=112.86e-6 k=7 tand=tl f=Fs
tlinp:t46 46 47 z0mag=zc length=107.46e-6 k=7 tand=tl f=Fs
tlinp:t47 47 48 z0mag=zc length=102.31e-6 k=7 tand=tl f=Fs
*
*res:rl 48 0 r=75. nonlinear=1 poly 1 2 0 0. 1.
41
APPENDIX A. NETLIST EXAMPLES AND TERMINOLOGY
res:rl
48
0
r=75.
.out plot 0 0 impulse in "impulse.out"
.out
.out
.out
.out
.out
plot
plot
plot
plot
plot
0
0
0
0
0
*.out plot
.out plot
*.out plot
.out plot
.out plot
.out plot
.out plot
.out plot
0
0
1
1
1
fimpulse real in "fimpulse_real.out"
fimpulse imag in "fimpulse_imag.out"
impulse in "impulse01.out"
fimpulse real in "fimpulse_real01.out"
fimpulse imag in "fimpulse_imag01.out"
node "vsin:1" 0 itx in "source_current"
node "vpulse:1" 0 itx in "source_current"
node "vsin:1" 0 xt in "source_voltage"
node "vpulse:1" 0 xt in "source_voltage"
node "diode:d1" 0 itx in "diode1.current"
node "diode:d47" 0 itx in "diode47.current"
node "diode:d1" 0 xt in "diode1.state"
node "diode:d47" 0 xt in "diode47.state"
.end
A.2
The netlist for a simple diode circuit
svtr_diode.net
*.options dcNormal = "on"
.options delay = "on"
.options keep_svM = "on"
.options tr_debug = "on"
*.options verb_level = 3
vsin:1 12 0 rs = 10. mag = 10 dc = 0 freq = 10e8
*vpulse:1 12 0 rs = 50. tr = .1e-9 clockspeed = 5e8
*+
tf = .1e-9 high = 30 low = 0.0 starttime = 0
*+
sequence = "1010" x = 0 y = 0
ind:1 12 11 l=1e-9
*ind:1 12 11 l=10e-9
*cap:1 11 0 c=5e-12
cap:1 11 0 c=1e-12
res:1 0 1 r =50
res:2 0 3 r = 50
res:3 11 1 r = 50
diode:D1 1 3 js=5.1e-14 alfa=38.696 e=10 ct0=1.32767e-15
+ vb=-1.0e50
+ fi=0.8 gama=0.810205 jb=1e-5 area=1 afac=38.696 r0=10.
.tran 0 5.0e-9 0.
.options spts = 1024
.options type = "svtr" sfrq = 100.e9
.options LPFOrder = 3 impulselength = 1.0
.options ytthresthru = 0.00 ytthrescross = 0.00
.options impulsescale = 1.0
.options tolerance = 1.0e-6 maxNoOfIterates = 100
42
APPENDIX A. NETLIST EXAMPLES AND TERMINOLOGY
43
.options LPFCornerFrequency = 100e9
.out plot node "vsin:1" 0 itx in "current_s.out"
*.out plot node "vpulse:1" 0 itx in "current_s.out"
.out plot node "vsin:1" 0 xt
in "voltage_s.out"
*.out plot node "vpulse:1" 0 xt
in "voltage_s.out"
.out plot node "diode:D1" 0 itx in "current_d.out"
.out plot node "diode:D1" 0 xt in "voltage_d.out"
.out plot 0 0 impulse in "impulse1.out"
.out plot 1 1 impulse in "impulse2.out"
.out plot 0 0 fimpulse mag in "fimpulse1.out"
.out plot 1 1 fimpulse mag in "fimpulse2.out"
.end
A.3
Netlist Terminology
The netlists in A.1 and A.2 can be run in TRANSIM to produce results. More information
about TRANSIM can be found in other sources [25, 33, 28]. The following features were added
during this work:
spts Number of sampling points in frequency.
delay Sets the phase correction on or off.
keep svM If set to on, it keeps the frequency domain circuit impedance matrix.
svtr State-variable transient analysis is run if type is set to this.
sfrq Sampling frequency.
impulse Time domain impulse response for the corresponding state variables.
fimpulse Frequency domain impulse response for the corresponding state variables.
xt Extracts the requested state variable for the display.
itx Extracts the requested nonlinear current for the display.
Appendix B
Element Models
B.1
Transmission Line Model
The transmission line model used in the simulations is a regular coaxial line with small losses,
therefore perturbation method was used to arrive at the equations. Skin effect is taken into
account by a frequency scaling term [41]. That is, loss increases as the frequency is increased.
This model was implemented in frequency domain, so it will be included in the linear subcircuit
during the analysis. Hence, it can also be used in harmonic balance analysis code of TRANSIM.
B.1.1
z0mag
length
k
tand
f
a
B.1.2
Parameters
Characteristic impedance in resistance units
Physical length of the transmission line in meters
Dielectric constant
Loss tangent
Reference frequency (Equivalent to F below) in Hz
Attenuation constant in dB per meters
Equations
A(f) = A (forF = 0)
s
A(f) = A(F )
f
F
(forF 6= 0)
(B.1)
(B.2)
s
k
Z0 c
L = Z02 C
R = 2 A(f) Z0
G = tan δl × ω C
C=
(B.3)
(B.4)
(B.5)
(B.6)
Characteristic impedance is calculated according to the formula
s
Z0 =
R + jωL
G + jωC
44
(B.7)
APPENDIX B. ELEMENT MODELS
45
and the attenuation is calculated according to the formula
q
(R + jωL) (G + jωC)
γ=
(B.8)
These are converted to the required y-parameter representation by using the following formulae.
1
Z0 tanh(γl)
1
=−
Z0 sinh(γl)
y22 = y11
y21 = y12
y11 =
y12
B.2
(B.9)
(B.10)
(B.11)
(B.12)
Diode Model
The diode model used in the simulations consists of a series reistor, a nonlinear capacitor, and
a regular diode. This model was implemented as a nonlinear device in the analysis.
B.2.1
js
alfa
e
ct0
r0
fi
gama
jb
vb
area
Parameters
Saturation current in amperes
Slope factor of the conduction current
Power-law parameter of breakdown current
Zero-bias depletion capacitance
Bias-dependent part of series resistance in forward-bias
Built-in barrier potential
Capacitance power-law parameter
Breakdown saturation current
Breakdown voltage
Area multiplier
Ic
I
Cj
D
Vj
Rs
Id
Figure B.1: The diode model
B.2.2
Equations
The model in Figure B.1 is used. The state variable is chosen as vj . The currents are calculated
according to the equations provided in Compact Software Elements Library [32]. Then, the
APPENDIX B. ELEMENT MODELS
46
capacitor current is given by
Ic = C
dvj
dt
(B.13)
and the total current is given by
ID = Ic + Id
dvj
= C
+ Id
dt
(B.14)
As it can be seen, the derivative of the state variable is required. In this model, the derivatives
were calculated using the differences, which do not actually yield the exact derivatives.
The parametrized model [25] was also implemented and it yielded the same results for the
same circuits.
Appendix C
Additions to TRANSIM
In this appendix the additions to the TRANSIM code during this work are presented in tabular form. More information on the TRANSIM code can be found in the work of Basel and
Christoffersen [28, 25].
Table C.1:
svtr misc.c
svtr phys.c
svtr func ev.c
an main svtr.c
svtr interface.c
svtr freq.c
Added Transim file names and descriptions
Routines for reading the options in the netlist
Physical routines
Function evaluation routines
Main routine
Interface routines between NNES & TRANSIM
Frequency vector set up routine
47
APPENDIX C. ADDITIONS TO TRANSIM
Table C.2: List of added functions
Function Name File Name
Description
Get svtroptions svtr misc.c
It reads and stores the options.
Free svtroptions svtr misc.c
It frees the memory used to store
the options.
svtr Get States svtr phys.c
It finds the number of states required and creates the nonlinear element list.
svtr Create T svtr phys.c
It allocates and fills the T matrix
svtr Destroy T svtr phys.c
It frees the T matrix and the nonlinear element list.
svtr Get U and I svtr phys.c
It gets the nonlinear voltages and
currents for the given states.
svtr output svtr phys.c
It outputs the results to the graph
structures.
svtr Create ws svtr phys.c
It initializes the structures for the
evaluation routine.
svtr Destroy ws svtr phys.c
It frees the memory created by
svtr Create ws.
Create svtrdata svtr func ev.c It allocates the memory for svtrdata
structure.
New svM svtr func ev.c It allocates space for the time domain matrix information structure.
Free svM svtr func ev.c It frees the memory created by
New svM.
Destroy svtrdata svtr func ev.c It frees the memory created by Create svtrdata.
svtr Filter svtr func ev.c It filters the given data.
svtr IFFT svtr func ev.c It takes the IFFT of the given data.
svtr Func ev svtr func ev.c It calculates the error function.
svtr solve svtr func ev.c It returns the solution (the state
variables) in vector form.
an main svtr an main svtr.c This is the main routine of the transient analysis.
svtr solve int svtr interface.c It makes the call to the FORTRAN
interface.
Create svtr freq svtr freq.c
It sets up the frequency vector.
48
Download