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