# Genesys Nonlinear Circuit Simulation Tutorial

advertisement ```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  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 .
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
 Maas, Stephen A. Nonlinear Microwave and RF Circuits. Artech House: Boston, 2003.
```