Genesys Nonlinear Circuit Simulation Tutorial Introduction In this tutorial, concepts and procedures of nonlinear circuit simulation are covered via an example design using a simple single-diode microwave mixer. Key topics include mixing system level blocks with circuit elements, use of local equations, post-processing, sweeps, and optimization. Design Requirements The sample design roughly follows guidelines in Chapter 6 of [1] describing single-diode mixers. RF Power: -20 dBm LO Power: 6 dBm RF Frequency: 12 GHz LO Frequency: 11 GHz Desired IF Frequency: 1*RF – 1*LO The frequency range dictates the use of a high-performance Schottky diode, available in on-chip GaAs technology. Circuit Implementation A thorough discussion on selection of this type of configuration and use of stubs for DC and IF return is available in Chapter 6 of [1]. It is important to note which types of system level blocks can be used with nonlinear simulation accurately. Here, a splitter and filter are used. These are passive elements that can be described as a y-matrix and fed into the linearized part of the circuit in a Harbec simulation. In contrast, a non-linear system element like an amplifier or multiplier should be used only with SPECTRASYS; unexpected or inaccurate results will occur since these elements get linearized for Harbec. Only circuit-level nonlinearities are used, i.e. diodes, transistors, controlled sources, etc. Input Equations Input equations are used to create the RF power variable: Prf = dbmtow(-20) '.01e-3 in MKS or .01mW Note that everything after a “ ‘ “ is a comment; it is ignored. The dbmtow() function takes a dbm argument and converts to watts, an MKS units. It is suggested to use MKS units when troubleshooting a design; oftentimes a misunderstanding in units can create erroneous results. HARBEC Simulation The mixer has as input a large-signal FLO and a small-signal FRF; the frequencies in the output will be: FIF = nFRF + mFLO , where n, m are integers. Harbec mixer analysis involves solving Kirchoff’s current law at each node, satisfying: I linear (nFRF mFLO) I nonlinear (nFRF mFLO) 0 The Harbec Property “Maximum Mixing Order” sets a bound on |n| + |m|. If the mixer contains substantial power outside of the limit set, a convergence problem can occur since this frequency is not taken into account. Multi-tone LO or RF inputs will substantially increase the number of frequency components at nonnegligible levels and hence simulation time. In the case of this mixer, the RF power is quite low and there is only one RF and one LO tone, so a maximum mixing order of 3 is enough to meet the default convergence criteria. Examining and Post-Processing HARBEC Data After simulation, a dataset called “HB1_Data” is created. Double-click this dataset to see a list of the variables it contains and their values. In particular, a variable called “PPORT” holds a matrix of values for power at each port at each frequency. We are interested in IF power at the desired 1*FRF – 1*FLO = 1 GHz frequency. In a separate output equation block, this value is obtained as: Pif = abs(HB1_Data.PPORT[2,3]) percent = Pif/Prf “Pif” is the power in watts delivered to port 3 at 1 GHz; i.e. the desired IF frequency. “percent” is the conversion loss, ( IF power ) / ( RF power). Output and Input equations are kept separate to avoid a situation where a simulation hasn’t run yet, so output variables don’t exist and hence an equation block fails to calculate and never instantiates input variables preventing a simulation from ever running. Optimization of Mixer Performance For this mixer, optimization involves maximizing the “percent” variable to be as close to 1.0 as possible while maintaining sufficient. The nonlinear device (diode) is pre-selected so its properties are not optimized; a diode with zero Cjo would be ideal but unfortunately does not exist. Instead, the microstrip stubs and lines as well as substrate parameters are optimized. Additional input parameters are made as: theEr = ?2.35 theThick = ?1e-005 theSubHeight = ?0.0009 These then become the substrate parameters. The microstrip lines are made tuneable. It is sometimes faster to optimize only a subset of parameters first, preferably those that the designer believes will have the largest impact on performance (to avoid spending time on random walks of variables that don’t need to be perturbed much from initial values). In this case, the substrate parameters initially guessed are known to be fairly close for desired results and in any case will have a minimal influence. Instead, only the microstrip lines are optimized initially: The min and max limits are necessary to prevent the optimizer from selecting physically impossible values, despite their satisfying the mathematical criteria posed. Here the part parameters and global units are set to “mm” so the units will be used identically to those in the part; “0.1” will mean “0.1mm”. An optimization run with these parameters can find lengths and widths to make the conversion loss absolute value of about 0.185. Now the substrate parameters are added: Here, equation variables are used, which are set in this workspace to MKS necessitating the use of explicit lengths in meters for the thickness and substrate height. Running the optimization with these added variables yields: Thus a -14 dB conversion loss is achieved at the desired 1000 MHz IF frequency, with an IF power of -27 dBm. Sweeping Nonlinear Simulation Adding the Pif and percent variables to an output block allows them to be optimized, viewed, exported, etc, but to sweep a simulation it is often easiest to add the variables directly into the simulation’s dataset, and they will be automatically swept along with the simulation itself. To add a variable to the dataset, right click in the variables list and choose “add new variable”. Create variables “Pif” and “ConversionLoss” defined as: Pif = abs(PPORT[2,3]) ConversionLoss = db(Pif/Prf) Set a tunable input variable; in this example, the LO power is tuned and swept from 2 to 10 dBm. It is necessary to check the box “propagate all variables while sweeping” in the sweep parameters dialog to ensure that user-created variables are added to the sweep data. The sweep results are plotted as: The conversion loss has a minimum at 6 dBm; it is no coincidence that this is the case since the nonlinearity was analyzed at this input level, and the stub dimensions and substrate parameters were optimized as linear components around the nonlinear response from the 6 dBm drive level. References [1] Maas, Stephen A. Nonlinear Microwave and RF Circuits. Artech House: Boston, 2003.