Agilent EEsof EDA

Presentation on Load Pull Simulation using ADS

This document is owned by Agilent Technologies, but is no longer kept current and may contain obsolete or inaccurate references. We regret any inconvenience this may cause. For the latest information on Agilent’s line of EEsof electronic design automation (EDA) products and services, please go to:

www.agilent.com/find/eesof

Andy Howard Applications Engineer 28 May, 2002

Load Pull Simulation Using ADS

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 28 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 28 May, 2002

Page 3

2002 Page 4 . etc.…to find the optimal value to maximize power or PAE. Load Pull Simulation Using ADS 28 May.

Specify the load reflection coefficients Simulation set up is complicated. but region is sampled more uniformly Load Pull Simulation Using ADS 28 May. 2002 Simulation set up is trivial Page 5 .

Sweeping rho over a circular region Specify circular region. via s11_rho and s11_center variables Radius of circle This is just a static figure. It does not get updated nor correspond to the values in the equations. Center of circle Load Pull Simulation Using ADS 28 May. 2002 Page 6 .

2002 Page 7 .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 28 May.

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 28 May. 2002 Page 8 .

Variable “real_indexs11” is the x-axis value. 0. m3 is at approximately: (-0. The imag_indexs11 variable is stepped uniformly.386) Load Pull Simulation Using ADS 28 May.706.More on the swept variables Each point is a data pair: (real_indexs11. whereas real_indexs11 is stepped non-uniformly. 2002 Page 9 . imag_indexs11) Variable “imag_indexs11” is the y-axis value of simulated reflection coefficient.

2002 Page 10 .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 28 May.

2002 Page 11 . which would imply an active load.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. D C Length of vector C =mag(s11_center) 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. Load Pull Simulation Using ADS 28 May. s11_rho.

This allows real_indexs11 to be swept along the first and last lines defined by imag_indexs11.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. Load Pull Simulation Using ADS 28 May. 2002 Page 12 .

along each of the horizontal lines. Page 13 Load Pull Simulation Using ADS 28 May.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 from the vertical center line of the circle to the edges. It is different for each horizontal line. 2002 .

How is c_limit calculated? c_limit c_limit is calculated from: r**2=c_limit**2+Y**2. 2002 Page 14 . where Y=imag_indexs11-imag(s11_center). and r=max_rho Circle radius is max_rho Arrow points to s11_center imag(s11_center) imag_indexs11 Load Pull Simulation Using ADS 28 May.

The max() function ensures that at least one line is used. 2002 Page 15 . then computes the integer part.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”. Load Pull Simulation Using ADS 28 May. The number of points per line is computed by keeping the integer part of pts/lines.

2002 Page 16 .Alternate reflection coefficient sweep Sweep the phase of the reflection coefficient “Phi_rho” in degrees. instead of indexs11. Load Pull Simulation Using ADS 28 May. and sweep the magnitude “Mag_rho”. “rho” below becomes the swept reflection coefficient.

2002 Page 17 . etc. • Biasing the device and running a simulation • Calculating desired responses (delivered power.) • Generating contour lines Load Pull Simulation Using ADS 28 May. PAE.Outline • Overview • Specifying and generating desired load reflection coefficients • Assigning arbitrary reflection coefficients at the harmonic freqs.

You could make the load independent of frequency: But this would model an unrealistically simple situation and would give sub-optimal results. 2002 Page 18 . Load Pull Simulation Using ADS 28 May.

2002 Page 19 . Load Pull Simulation Using ADS 28 May. other load and source impedances defined similarly These default values are somewhat sub-optimal.Set source and load impedances at harmonic frequencies arbitrarily Z_l_2 is the load impedance at 2nd harmonic. as using opens or shorts to terminate the harmonics should give better performance.

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

etc. the first value being 0. 2002 Page 21 . the third value fg(Z_l_2). defined via the “list( )” function: The list function defines an array of reflection coefficients. The function fg(x) converts an impedance x into a reflection coefficient.Defining a single. frequency-dependent reflection coefficient (2) Using an array. Load Pull Simulation Using ADS 28 May. the second value indexs11.

frequency-dependent reflection coefficient (2 continued) iload is the index into the array. when iload=1.Defining a single. Load Pull Simulation Using ADS 28 May. 2002 Page 22 . LoadTuner = LoadArray[3] =fg(Z_l_2) etc. LoadTuner = LoadArray[1] =0 when iload=2. LoadTuner = LoadArray[2] =indexs11 when iload=3.

2002 Page 23 . where RFfreq is defined to be the fundamental analysis frequency.5. 2*RFfreq.5. length(LoadArray)=6 in this case. 6)) = int(min(1. For a 1-tone load-pull simulation it will have values 0. 6)) = int(1.. iload = int(min(0/RFfreq +1. RFfreq.5. 3*RFfreq. 6)) =int(2. So when freq=0. iload =int(min(RFfreq/RFfreq+1. etc.5.How is iload calculated? “freq” is an internal simulator variable. 6)) =int(min(2.5) =2 Load Pull Simulation Using ADS 28 May.5) =1 When freq=RFfreq.

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

indexs11. Z_l_fund.…) 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 28 May.Load pull at a harmonic frequency Define a new variable. fg(Z_l_fund). fg(Z_l_3). 2002 Page 25 . Then change the LoadArray equation to: LoadArray = list(0. to fix the load impedance at the fundamental frequency.

PAE.Outline • Overview • Specifying and generating desired load reflection coefficients • Assigning arbitrary reflection coefficients at the harmonic freqs. 2002 Page 26 . • Biasing the device and running a simulation • Calculating desired responses (delivered power. etc.) • Generating contour lines Load Pull Simulation Using ADS 28 May.

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 won’t work. 2002 Page 27 . Load Pull Simulation Using ADS 28 May.

• Biasing the device and running a simulation • Calculating desired responses (delivered power.) • Generating contour lines Load Pull Simulation Using ADS 28 May. 2002 Page 28 . PAE.Outline • Overview • Specifying and generating desired load reflection coefficients • Assigning arbitrary reflection coefficients at the harmonic freqs. etc.

Load Pull Simulation Using ADS 28 May. re-run the simulation.Calculate the DC power consumption The [0] index means use the DC component. If you alter the device biasing and still want to calculate the DC power consumption. 2002 Page 29 . you could delete the wire label Vs_low. and the power would still be calculated. The exists( ) function returns 0 if the variable in quotes is not in the dataset. So. for example. you may need to modify the equation for Pdc.

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. Refer to Desoer and Kuh. 2002 Page 30 . Pavs is the power available from the source. The user sets this value on the schematic. Basic Circuit Theory.Calculate the power delivered and PAE 0. in dBm. Load Pull Simulation Using ADS 28 May. and it is passed into the dataset.5*real(V*conj(I)) is a standard equation for calculating power delivered to a complex load.

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. Load Pull Simulation Using ADS 28 May. 2002 Page 31 . then finding the maximum of the remaining array.

PAE.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. etc.) • Generating contour lines Load Pull Simulation Using ADS 28 May. 2002 Page 32 .

But you can’t easily find the maximum by moving the marker or quickly change the number of lines or their spacing. Generates six equallyspaced levels between the minimum and maximum of the data.Most simple contour lines Simplest case is to just use contour_polar( ) function with defaults. 2002 Page 33 . Load Pull Simulation Using ADS 28 May.

But you can’t easily find the maximum by moving the marker. Load Pull Simulation Using ADS 28 May.May specify specific contour values Use curly braces { } to specify specific contour values. and you may have to modify the values by hand if you change the simulation. 2002 Page 34 .

Etc. then [0::(NumPAE_lines-1)] generates an array from 0 to 4. you can quickly change the number of lines and the spacing between them.1 -2*PAE_step.1 -1*PAE_step. If NumPAE_lines=5. So the second PAE line will be for PAEmax-0.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. With this approach. The third PAE line will be for PAEmax-0. This -0. in steps of 1.1 term is included so the first line will be a small circle that you can see. Load Pull Simulation Using ADS 28 May. rather than being a single pixel that you can’t. 2002 Page 35 .

they are really “imag_indexs11” Load Pull Simulation Using ADS 28 May. These pairs of points define the left-most arc Although the right column and y-axis are labeled “PAE_contours”.Generating contour lines for rectangular plots The contour( ) function generates contours for a rectangular plot. 2002 Page 36 . which may give you more resolution than a Smith chart.

The PAE_contours_p equation takes the X and Y coordinate pairs of the contour lines and converts them to complex numbers. 2002 Page 37 . This equation generates contour lines for the Smith chart directly: Load Pull Simulation Using ADS 28 May. X +j*Y. which can be plotted on a Smith chart.Generating contour lines for Smith chart The contour( ) function generates y-axis coordinates (PAE_contours . But you have to convert these to complex numbers for plotting on the Smith chart.really imag_indexs11) paired with x-axis coordinates (real_indexs11).

in degrees. for plotting on a Smith chart. 2002 Page 38 .Generating contours after sweeping magnitude and phase of rho PAE_contours can be plotted on a rectangular plot. and the Y-axis will be the phase of the reflection coefficient. The X-axis will be the magnitude of the reflection coefficient. These must be converted to complex numbers via the PAE_conts_forSmithCh equation. Load Pull Simulation Using ADS 28 May.

Plotting the actually-simulated reflection coefficients This data shows the simulation results when the reflection coefficient is the value selected by the marker’s location. These “surface_samples” are computed from the swept variables. Load Pull Simulation Using ADS 28 May. 2002 Page 39 . 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.

2002 Page 40 .PAE and power delivered are functions of the swept variables Find the indices of imag_indexs11 and real_indexs11 that correspond to marker m3’s location Load Pull Simulation Using ADS 28 May.

and optimization within a load pull sweep. Load Pull Simulation Using ADS 28 May. but you don’t have to know them to run simulations. The set-up and post-processing can be simplified. 2002 Page 41 . •Other.Summary •ADS offers much flexibility for simulating load pull •Set-up and post-processing equations are complex. more advanced capabilities are available. two-tone intermodulation distortion while doing a load pull. including source-pull.

14 €/minute Ireland 1890 924 204 Israel 972-3-9288-504/544 Italy 39 02 92 60 8484 Netherlands 31 (0) 20 547 2111 Spain 34 (91) 631 3300 Sweden 0200-88 22 55 Switzerland 0800 80 53 53 United Kingdom 44 (0) 118 9276201 Other European Countries: www.com/find/agilentdirect Quickly choose and use your test equipment solutions with confidence.agilent. www.agilent.com/find/contactus Agilent Direct www. visit: www. Americas Canada Latin America United States Asia Pacific Australia China Hong Kong India Japan Korea Malaysia Singapore Taiwan Thailand (877) 894-4414 305 269 7500 (800) 829-4444 1 800 629 485 800 810 0189 800 938 693 1 800 112 929 0120 (421) 345 080 769 0800 1 800 888 848 1 800 375 8100 0800 047 866 1 800 226 008 Europe & Middle East Austria 0820 87 44 11 Belgium 32 (0) 2 404 93 40 Denmark 45 70 13 15 15 Finland 358 (0) 10 855 2100 France 0825 010 700* *0.com For more information on Agilent Technologies’ products. 2008 Product specifications and descriptions in this document subject to change without notice. © Agilent Technologies. Inc.agilent. May 28.com/find/emailupdates www.For more information about Agilent EEsof EDA. please contact your local Agilent office. 2008 Printed in USA. 2002 5989-9542EN . The complete list is available at: Get the latest information on the products and applications you select.agilent.agilent. applications or services.com/find/contactus Revised: March 27.agilent.com/find/eesof Agilent Email Updates www.125 €/minute Germany 01805 24 6333** **0.