0% found this document useful (0 votes)
174 views

Load Pull Pres

The document describes the process of performing load pull simulations in ADS to optimize the load reflection coefficient presented to a device. It involves specifying the desired load reflection coefficients over a circular region, assigning reflection coefficients at harmonic frequencies, biasing the device, running simulations, and calculating responses like delivered power and power-added efficiency. Contour lines of the responses can then be generated to find the optimal load condition.

Uploaded by

Edon Derguti
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
174 views

Load Pull Pres

The document describes the process of performing load pull simulations in ADS to optimize the load reflection coefficient presented to a device. It involves specifying the desired load reflection coefficients over a circular region, assigning reflection coefficients at harmonic frequencies, biasing the device, running simulations, and calculating responses like delivered power and power-added efficiency. Contour lines of the responses can then be generated to find the optimal load condition.

Uploaded by

Edon Derguti
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 41

Load Pull Simulation Using ADS

28 May, 2002

Andy Howard
Applications Engineer

Outline

Overview

Specifying and generating desired load reflection coefficients

Assigning arbitrary reflection coefficients at the harmonic freqs.

Biasing the device and running a simulation

Calculating desired responses (delivered power, PAE, etc.)

Generating contour lines

Load Pull
Simulation
Using ADS
20 May, 2002

Page 2

Load pull simulation varies the load reflection


coefficient presented to a device...

Vary load
reflection
coefficient

Load Pull
Simulation
Using ADS
20 May, 2002

Page 3

to find the optimal value to maximize power or


PAE, etc.

Load Pull
Simulation
Using ADS
20 May, 2002

Page 4

Specify the load reflection coefficients

Simulation set up is
complicated, but
region is sampled
more uniformly

Simulation set up
is trivial
Load Pull
Simulation
Using ADS
20 May, 2002

Page 5

Sweeping rho over a circular region


Specify circular region, via s11_rho and s11_center
variables
Radius of circle

Center of circle

This is just a
static figure. It
does not get updated
nor correspond
to the values in the
equations.

Load Pull
Simulation
Using ADS
20 May, 2002

Page 6

Use ReflectionCoefUtility data display to help


set s11_center and s11_rho
The circle center and
radius are updated when
you move either or both
of the markers

Load Pull
Simulation
Using ADS
20 May, 2002

Page 7

Two variables are swept to generate the points


within the desired circle
Will explain Start
and Stop equations
later

These initialize the


swept variables

indexs11 is the reflection


coefficient
Load Pull
Simulation
Using ADS
20 May, 2002

Page 8

More on the swept variables


Each point is a data pair:
(real_indexs11, imag_indexs11)

m3 is at approximately:
(-0.706, 0.386)

Variable imag_indexs11 is
the y-axis value of simulated
reflection coefficient.
Variable real_indexs11 is
the x-axis value. The
imag_indexs11 variable is
stepped uniformly, whereas
real_indexs11 is stepped
non-uniformly.

Load Pull
Simulation
Using ADS
20 May, 2002

Page 9

Sweep limits for imag_indexs11

A
B

imag(s11_center)
Arrow points to s11_center

Distance A=Distance B=max_rho-max_rho/(lines+1)

Load Pull
Simulation
Using ADS
20 May, 2002

Page 10

What is max_rho?
The max_rho equation reduces the radius of the circle of simulated
reflection coefficients if any part of the circle would otherwise be
outside the Smith chart, which would imply an active load.

Length of vector C
=mag(s11_center)

D
C

Length of vector D
=1-mag(s11_center)
max_rho will be the smaller of
the length of vector D and the userentered circle radius, s11_rho.
Load Pull
Simulation
Using ADS
20 May, 2002

Page 11

What about the max_rho/(lines+1) term?

Including this term prevents the first


and last line from being tangent to
the circle at a single point. This allows
real_indexs11 to be swept along the first
and last lines defined by imag_indexs11.
Load Pull
Simulation
Using ADS
20 May, 2002

Page 12

Sweep limits for real_indexs11


maximum value of
c_limit
min. value
of c_limit

Arrow points to s11_center


real(s11_center)

c_limit is the distance fromthe


vertical center line of the circle
to the edges, along each of the
horizontal lines. It is different
for each horizontal line.
Load Pull
Simulation
Using ADS
20 May, 2002

Page 13

How is c_limit calculated?


c_limit is calculated from:
r**2=c_limit**2+Y**2,
where
Y=imag_indexs11-imag(s11_center),
and r=max_rho

c_limit

Circle radius is max_rho


Arrow points to s11_center

imag(s11_center)
imag_indexs11
Load Pull
Simulation
Using ADS
20 May, 2002

Page 14

How are the number of lines and the points per


line calculated?
User sets this value
The lines equation takes the
square root of pts, then computes
the integer part. The max() function
ensures that at least one line is used.
The number of points per line is
computed by keeping the integer
part of pts/lines.

Load Pull
Simulation
Using ADS
20 May, 2002

Page 15

Alternate reflection coefficient sweep


Sweep the phase of the reflection
coefficient Phi_rho in degrees,
and sweep the magnitude Mag_rho.
rho below becomes the swept
reflection coefficient, instead of
indexs11.

Load Pull
Simulation
Using ADS
20 May, 2002

Page 16

Outline

Overview

Specifying and generating desired load reflection coefficients

Assigning arbitrary reflection coefficients at the harmonic freqs.

Biasing the device and running a simulation

Calculating desired responses (delivered power, PAE, etc.)

Generating contour lines

Load Pull
Simulation
Using ADS
20 May, 2002

Page 17

You could make the load independent of


frequency:

But this would model an unrealistically


simple situation and would give
sub-optimal results.

Load Pull
Simulation
Using ADS
20 May, 2002

Page 18

Set source and load impedances at harmonic


frequencies arbitrarily

Z_l_2 is the load impedance at


2nd harmonic; other load and
source impedances defined similarly
These default values are somewhat
sub-optimal, as using opens or shorts
to terminate the harmonics should
give better performance.
Load Pull
Simulation
Using ADS
20 May, 2002

Page 19

Defining a single, frequency-dependent


reflection coefficient (1)
The brute force way, using a giant if-then-else equation:
These are frequency break points, midway between
the fundamental and 2nd harmonic, between the
2nd and 3rd harmonics, etc. RFfreq is the
fundamental frequency.
...
These equations convert harmonic
impedances to reflection coefficients.
This is from examples/RF_Board/NADC_PA_prj/NADC_PA_Test
Load Pull
Simulation
Using ADS
20 May, 2002

Page 20

Defining a single, frequency-dependent


reflection coefficient (2)
Using an array, defined via the list( ) function:
The list function defines an array of reflection coefficients, the first
value being 0, the second value indexs11, the third value fg(Z_l_2),
etc.

The function fg(x) converts an impedance


x into a reflection coefficient.
Load Pull
Simulation
Using ADS
20 May, 2002

Page 21

Defining a single, frequency-dependent


reflection coefficient (2 continued)
iload is the index into the array.
when iload=1, LoadTuner = LoadArray[1] =0
when iload=2, LoadTuner = LoadArray[2] =indexs11
when iload=3, LoadTuner = LoadArray[3] =fg(Z_l_2)
etc.

Load Pull
Simulation
Using ADS
20 May, 2002

Page 22

How is iload calculated?

freq is an internal simulator variable. For a 1-tone load-pull


simulation it will have values 0, RFfreq, 2*RFfreq, 3*RFfreq,
etc., where RFfreq is defined to be the fundamental analysis
frequency.
length(LoadArray)=6 in this case.
So when freq=0,
iload = int(min(0/RFfreq +1.5, 6)) = int(min(1.5, 6)) = int(1.5) =1
When freq=RFfreq,
iload =int(min(RFfreq/RFfreq+1.5, 6)) =int(min(2.5, 6)) =int(2.5) =2
Load Pull
Simulation
Using ADS
20 May, 2002

Page 23

More details

When freq=0, analysis at DC is being carried out, and iload=1,


so LoadTuner =LoadArray[1]=0. So the reflection coefficient at
DC is 0.
When freq=RFfreq, analysis at the fundamental frequency is
being carried out, and iload=2,
so LoadTuner=LoadArray[2]=indexs11, which is the load
reflection coefficient at the fundamental frequency.
When freq=2*RFfreq, analysis at the 2nd harmonic frequency
is being carried out, and iload=3,
so LoadTuner=LoadArray[3]=fg(Z_l_2), which is the load
reflection coefficient at the 2nd harmonic frequency. Etc.
Load Pull
Simulation
Using ADS
20 May, 2002

Page 24

Load pull at a harmonic frequency

Define a new variable, Z_l_fund, to fix the load impedance at


the fundamental frequency. Then change the LoadArray equation
to:
LoadArray = list(0, fg(Z_l_fund), indexs11, fg(Z_l_3),)
The reflection coefficient at which harmonic frequency is being
swept?
What if you wanted to sweep the reflection coefficient at the third
harmonic?
Load Pull
Simulation
Using ADS
20 May, 2002

Page 25

Outline

Overview

Specifying and generating desired load reflection coefficients

Assigning arbitrary reflection coefficients at the harmonic freqs.

Biasing the device and running a simulation

Calculating desired responses (delivered power, PAE, etc.)

Generating contour lines

Load Pull
Simulation
Using ADS
20 May, 2002

Page 26

Modify the bias network as desired


But if you delete both current probes and voltage labels
Vs_low and Vs_high then the PAE calculations on the
data display wont work.

Load Pull
Simulation
Using ADS
20 May, 2002

Page 27

Outline

Overview

Specifying and generating desired load reflection coefficients

Assigning arbitrary reflection coefficients at the harmonic freqs.

Biasing the device and running a simulation

Calculating desired responses (delivered power, PAE, etc.)

Generating contour lines

Load Pull
Simulation
Using ADS
20 May, 2002

Page 28

Calculate the DC power consumption


The [0] index
means use the
DC component.

The exists( ) function returns 0 if the variable in quotes


is not in the dataset. So, for example, you could delete the
wire label Vs_low, re-run the simulation, and the power
would still be calculated. If you alter the device biasing and
still want to calculate the DC power consumption, you may
need to modify the equation for Pdc.
Load Pull
Simulation
Using ADS
20 May, 2002

Page 29

Calculate the power delivered and PAE


0.5*real(V*conj(I)) is
a standard equation
for calculating power
delivered to a complex
load. Refer to Desoer and
Kuh, Basic Circuit Theory.
Pavs is the power available from the source, in dBm.
The user sets this value on the schematic, and it is passed
into the dataset.
Power-added efficiency is calculated as the power delivered
to the load minus the power available from the source divided
by the DC power consumption.
Load Pull
Simulation
Using ADS
20 May, 2002

Page 30

Pdel_Watts and PAE are functions of the two


swept variables

The maximum values are computed by finding the


maxima across one dimension (real_indexs11) first,
then finding the maximum of the remaining array.
Load Pull
Simulation
Using ADS
20 May, 2002

Page 31

Outline
Overview

Specifying and generating desired load reflection coefficients


Assigning arbitrary reflection coefficients at the harmonic freqs.
Biasing the device and running a simulation
Calculating desired responses (delivered power, PAE, etc.)
Generating contour lines

Load Pull
Simulation
Using ADS
20 May, 2002

Page 32

Most simple contour lines


Simplest case is to just use
contour_polar( ) function with
defaults. Generates six equallyspaced levels between the
minimum and maximum of
the data.
But you cant easily find the
maximum by moving the
marker or quickly change
the number of lines or their
spacing.

Load Pull
Simulation
Using ADS
20 May, 2002

Page 33

May specify specific contour values


Use curly braces { } to specify
specific contour values.
But you cant easily find the
maximum by moving the
marker, and you may have
to modify the values by
hand if you change the
simulation.

Load Pull
Simulation
Using ADS
20 May, 2002

Page 34

More complex but more flexible contour


equations
Specify step in % PAE between lines
Specify number of contour lines

First contour line will be for PAEmax-0.1. This -0.1 term


is included so the first line will be a small circle that you can
see, rather than being a single pixel that you cant.
If NumPAE_lines=5, then [0::(NumPAE_lines-1)] generates
an array from 0 to 4, in steps of 1.
So the second PAE line will be for PAEmax-0.1 -1*PAE_step.
The third PAE line will be for PAEmax-0.1 -2*PAE_step.
Etc.
With this approach, you can quickly change the number of
lines and the spacing between them.
Load Pull
Simulation
Using ADS
20 May, 2002

Page 35

Generating contour lines for rectangular plots


The contour( ) function generates contours for a rectangular
plot, which may give you more resolution than a Smith chart.

These pairs
of points
define the
left-most
arc

Although the right column and y-axis are


labeled PAE_contours, they are really
imag_indexs11
Load Pull
Simulation
Using ADS
20 May, 2002

Page 36

Generating contour lines for Smith chart


The contour( ) function generates y-axis coordinates (PAE_contours
- really imag_indexs11) paired with x-axis coordinates
(real_indexs11). But you have to convert these to complex numbers
for plotting on the Smith chart.

The PAE_contours_p equation takes the X and Y coordinate pairs of the


contour lines and converts them to complex numbers, X +j*Y, which
can be plotted on a Smith chart.
This equation generates contour lines for the Smith chart directly:
Load Pull
Simulation
Using ADS
20 May, 2002

Page 37

Generating contours after sweeping magnitude


and phase of rho

PAE_contours can be plotted on a rectangular plot. The X-axis


will be the magnitude of the reflection coefficient, and the Y-axis
will be the phase of the reflection coefficient, in degrees.
These must be converted to complex numbers via the
PAE_conts_forSmithCh equation, for plotting on a Smith chart.
Load Pull
Simulation
Using ADS
20 May, 2002

Page 38

Plotting the actually-simulated reflection


This data shows the simulation
coefficients
results when the reflection
coefficient is the value selected
by the markers location.

These surface_samples are computed from the swept variables,


real_indexs11 and imag_indexs11:
The expand( ) function just adds an extra independent variable
to the imag_indexs11 variable so it can be added to real_indexs11.
Load Pull
Simulation
Using ADS
20 May, 2002

Page 39

PAE and power delivered are functions of


the swept variables

Find the indices of imag_indexs11 and real_indexs11 that


correspond to marker m3s location

Load Pull
Simulation
Using ADS
20 May, 2002

Page 40

Summary
ADS offers much flexibility for simulating load pull
Set-up and post-processing equations are complex, but you
dont have to know them to run simulations. The set-up
and post-processing can be simplified.
Other, more advanced capabilities are available, including
source-pull, two-tone intermodulation distortion while
doing a load pull, and optimization within a load pull sweep.

Load Pull
Simulation
Using ADS
20 May, 2002

Page 41

You might also like