Sie sind auf Seite 1von 59

Matt Ozalas

RF Power Amplifier & Module Design Expert

Keysight Technologies 2017


Why?

The solution to most engineering problems can be found somewhere in the


databut where?

Test Data
Simulation Models
Results

Charts Production Data

White board Lab notebook

5/4/2017
Keysight Technologies
2017 Page 2
Use the Force

StarWars.com

May the Fourth: Happy Star Wars Day!


5/4/2017
Keysight Technologies
2017 Page 3
4 Ways to boost simulation data processing using Python

1. Visualize and understand simulation data

2. Enhance analysis of measured data using simulation

3. Directly compare simulation with measurement though VISA interface

4. Compute circuit or model values prior to running simulation

5/4/2017
Keysight Technologies
2017 Page 4
4 Ways to boost simulation data processing using Python

1. Visualize and understand simulation data


Designing a Broadband amplifier with a 3D Smith Chart

2. Enhance analysis of measured data using simulation

De-embedding measured load pull data using EM analysis of fixture

3. Directly compare simulation with measurement though VISA interface

PAM-4 simulation to measurement validation on DCA oscilloscope

4. Compute circuit or model values prior to running simulation

Synthesizing an Acoustic Filter by a residual extraction technique

5/4/2017
Keysight Technologies
2017 Page 5
Introduction:

5/4/2017
Keysight Technologies
2017 Page 6
What is Python?

Widely adopted, user friendly programming environment


Lots of Engineering and Scientific Functionality
- The function you want probably already exists
Open Source
- You can usually look at that function in detail
Totally free
- It doesnt cost anything to download and use

Lots of learning resources


Videos: http://www.keysight.com/find/python-test-and-measurement
Great intro to Python for Hardware Engineers!
Books: www.learnpythonthehardway.org/
Courses: https://developers.google.com/edu/python
Answers to questions: https://stackoverflow.com/questions/tagged/python

5/4/2017
Keysight Technologies
2017 Page 7
Basic Definitions

To create, edit, debug and execute scripts, you can download Editors and
Interactive Development Environments (IDEs)
IDEs here: https://wiki.python.org/moin/IntegratedDevelopmentEnvironments

Packages contain useful functions for example, the sine function


These can be imported into a script
105748 packages here: https://pypi.python.org/pypi

Distributions are preloaded with Python + Packages + Editors/IDEs


List of distributions here: https://wiki.python.org/moin/PythonDistributions
Recommended: ANACONDA: https://www.continuum.io/downloads
- This includes a two great IDEs (SPYder / JuPYter) and a lots of scientific packages

5/4/2017
Keysight Technologies
2017 Page 8
Quick Start
Download and install Anaconda https://www.continuum.io/downloads
Open Spyder App (Start Menu Anaconda Spyder) or

View Panes and select EDITOR, IPYTHON CONSOLE, VARIABLE EXPLORER


Type the 4 lines below and click the RUN button (green arrow)

Run button

Variable explorer

Console
Editor

Page
Linking Simulation to Python

5/4/2017
Keysight Technologies
2017 Page 10
Data Link Setup
Both environments have a file which contains data link functions

Simulator: Keysight ADS Python Distribution: Anaconda


https://www.continuum.io/downloads

AEL File: python_utilities.ael Python Library: ads.py


Contains Python Data Link functions for ADS. This file needs to be in the directory
ADS needs to be configured to load this with the Python script(s) you will call

5 minute step by step video plus workspace here:


http://www.keysight.com/find/eesof-ads-data-link-setup

5/4/2017

Keysight Technologies
2017 Page 11
ADS Data Link with Python: Multiply by 2

5/4/2017
Keysight Technologies
2017 Page 12
ADS Data Link with Python: Multiply by 2

Send
Directory to send data Data

V, I

5/4/2017
Keysight Technologies
2017 Page 13
ADS Data Link with Python: Multiply by 2

Send
Directory to send data Data

V, I

Receive

5/4/2017
Keysight Technologies
2017 Page 14
ADS Data Link with Python: Multiply by 2

Send
Directory to send data Data

V, I

Receive

5/4/2017
Keysight Technologies
2017 Page 15
ADS Data Link with Python: Multiply by 2

Send
Directory to send data Data

V, I 2*V
2*I

Receive Send

5/4/2017
Keysight Technologies
2017 Page 16
ADS Data Link with Python: Multiply by 2

Full path of
Send Receive Python file
Directory to send data Mydata.csv
Data

V, I 2*V
2*I

Receive Send

5/4/2017
Keysight Technologies
2015 Page 17
ADS Data Link with Python: Multiply by 2

Full path of
Send Receive Python file
Directory to send data Mydata.csv
Data

V, I 2*V
2*I

Receive Send

5/4/2017
Keysight Technologies
2017 Page 18
The Same Thing, in a SINGLE STEP

Directory path of script Script Name Data

5/4/2017
Keysight Technologies
2015 Page 19
The Same Thing, in a SINGLE STEP

Send Receive

Myscript.py 2*V
V, I
2*I

All of this happens automatically once the ADS equation is executed

5/4/2017
Keysight Technologies
2015 Page 20
The Same Thing, in a SINGLE STEP

Send Receive

Myscript.py 2*V
V, I
2*I

Import the Python library (ads.py)

5/4/2017
Keysight Technologies
2015 Page 21
The Same Thing, in a SINGLE STEP

Send Receive

2*V
V, I
2*I

Bring ADS Data into Python


D=numerical data
S=string data

5/4/2017
Keysight Technologies
2015 Page 22
The Same Thing, in a SINGLE STEP

Send Receive

2*V
V, I
2*I

Process the data in Python somehow

5/4/2017
Keysight Technologies
2015 Page 23
The Same Thing, in a SINGLE STEP

Send Receive

2*V
V, I
2*I

Send Python data back to ADS


5/4/2017
Keysight Technologies
2015 Page 24
The Same Thing, in a SINGLE STEP

Send Receive

2*V
V, I
2*I

Close the ADS-Python Channel


Keysight Technologies
5/4/2017

2015 Page 25
4 Ways to boost simulation data processing using Python

1. Visualize and understand simulation data


Designing a Broadband amplifier with a 3D Smith Chart

2. Enhance analysis of measured data using simulation

De-embedding measured load pull data using EM analysis of fixture

3. Directly compare simulation with measurement though VISA interface

PAM-4 simulation to measurement validation on DCA oscilloscope

4. Compute circuit or model values prior to running simulation

Synthesizing an Acoustic Filter by a residual extraction technique

5/4/2017
Keysight Technologies
2017 Page 26
Overview: Broadband Amplifier Design
A Power Amplifiers performance is highly dependent upon load value

Load-pull: Present different loads to device, and create contours of constant power and efficiency
on the Smith Chart. Then, design a matching network to transform impedance into the contour.
Challenge in broadband design: usually, contours are only valid at a single frequency.

Goal: Design a broadband power amplifier using loadpull contours.

Discrete Power and Efficiency Contours,


Matching Network Plus OMN Impedance vs. Freq

50

DUT

Contours and
impedance
Freq? change vs.
frequency
Freq: 1-2 GHz
Freq?

Efficiency
Power Matching Network Z Hard to visualize and
interpret all this data!
Page
5/4/2017
The Cylindrical 3D Smith Chart (Smith Tube)
A Smith Chart can be extended into 3D by adding a Cartesian Z-axis, in a manner similar
to a cylindrical coordinate system.

This representation of the Smith Chart, dubbed the Smith Tube was pioneered by a
team a Baylor University*.

Arbitrary
Z Z axis

Cylindrical Coordinates 3D Smith Chart

*Matthew Fellows, Matthew Flachsbart, Jennifer Barlow, Charles Baylis, Robert J. Marks. The Smith tube:
Selection of radar chirp waveform bandwidth and power amplifier load impedance using multiple-
bandwidth load-pull measurements. IEEE WAMICON, June 2014.
Page
Implementing a 3D Smith Chart in Python
I wrote a custom sm3d library in Python to generate a 3D Smith Chart. The library can be
accessed from Python and also has built in plotting capability for points, lines, contours etc.

Generate (sm3d.generate_3d_smith) Plot a line (sm3d.plot_3ds_line)

5/4/2017

Page
Implementing a 3D Smith Chart in Python
Plot a surface (sm3d.plot_3ds_surface) or Contours (sm3d.plot_3ds_contours)

5/4/2017

http://www.keysight.com/find/eesof-3dsmithchart
Page
Automatically open a Smith Tube after an ADS simulation

Results or
Data to status message
Plot

Python script pops up a


3D plot automatically

5/4/2017
Keysight Technologies
2017 Page 31
DEMO: 3D SMITH CHART

5/4/2017
Keysight Technologies
2017 Page 32
Better Understand a Matching Network

What creates the


resonance around
1.3 GHz?

Data selected on
the 3DSC is
returned to ADS
automatically

C3
L2
C2
C1
L1

5/4/2017
Keysight Technologies
2017 Page 33
Loadpull contours, stretched out

Sweep Load, Freq

Power, Eff contours Pout=24 dBm contour

nd=30,40,45% contours

5/4/2017
Keysight Technologies
2017 Page 34
Thread the Needle
Goal is to adjust the matching network values to thread the needle of impedance
through the contour rings across frequency

Selected result is then returned to ADS

24 dBm power contour

C3 f=1700 MHz

C2
L2
C1
L1

5/4/2017
Keysight Technologies
2017 Page 35
Put it together

Output Power Efficiency

Page
4 Ways to boost simulation data processing using Python

1. Visualize and understand simulation data


Designing a Broadband amplifier with a 3D Smith Chart

2. Enhance analysis of measured data using simulation

De-embedding measured load pull data using EM analysis of fixture

3. Directly compare simulation with measurement though VISA interface

4. Compute circuit or model values prior to running simulation

5/4/2017
Keysight Technologies
2017 Page 37
Loadpull Measurement System
Loadpull contours can be created by measurement, using the test setup below
The device is in a fixture, which shifts the contours wrt the device reference plane
Fixture de-embedding can be done using an EM simulation

Goal: Use an Electromagnetic simulation to de-embed the measurement test fixture


from a set of measured loadpull contours for a power transistor.

Test Fixture
(Want to De-embed
w/ EM simulation)

1 DUT 1
2
plane
Tunable
BiasT BiasT RF Load

Fixture Plane
2
SWEPT DUT
Signal X dB
Gain

X
Source Compression Contours of constant
power delivered at X-
dB Gain compression
Pinx
Pin
Due to the structure of the measured data, it is difficult to generate contours using built in functions

Page
Surface Data in Python
Measured Data Structure: Python Approach:
Create 3 new, gridded
Efficiency Values are de-coupled from load values: Eff(load index, pin index)
array variables which
Swept Data is irregular (number of points varies from sweep to sweep) contain explicit x, y, z

Data must be interpolated onto a uniform XY grid for contouring

Measured Data is a To plot this in 3D, we must have Z=f(x,y),


collection of Points So the input data must be interpolated onto a uniform grid
X (Real RL) Y (Imag RL) Z (Efficiency) Y
6.97 1.94 54.9725
4.21 1.28 57.48225
X -5 -2.5 0 2.5 5
4.17 0.12 61.428 4 Z(4,-5) Z(4,-2.5) Z(4,0) Z(4,2.5) Z(4,5)
6.73 0.1 62.231 4.5 Z(4.5,-5) Z(4.5,-2.5) Z(4.5,0) Z(4.5,2.5) Z(4.5,5)
7.56 -3.6 64.9364
5 Z(5,-5) Z(5,-2.5) Z(5,0) Z(5,2.5) Z(5,5)
6.92 -1.75 65.8133
8.78 -5.44 59.11595 5.5 Z(5.5,-5) Z(5.5,-2.5) Z(5.5,0) Z(5.5,2.5) Z(5.5,5)
5.53 -2.02 69.0246 6 Z(6,-5) Z(6,-2.5) Z(6,0) Z(6,2.5) Z(6,5)
6.45 -4.98 65.0662

In Python, we first create a uniform XY grid Then, interpolate Z values onto the grid
Linear
X and Y
The griddata function uses cubic interpolation to fill in
Gridded Gridded Z the Z-values on top of the uniform X-Y grid
X and Y The meshgrid function
builds a 2D XY grid

Now we have 3 gridded, plottable variables: xgrid, ygrid, zgrid


Page
Creating Surfaces and Contours in Python
From the grid variables, can generate a surface or extract contours of constant elevation
These utilize the pyplot functions in Matplotlib

(its also possible to extract data from the contours)

5/4/2017
Keysight Technologies
2017 Page 40
Generating and De-embedding contours from measured data

2. Import and Filter data 3. Pass in X dB


1. Measured Results compression data
(.mdif file)
(.spl file)

(.lpc file)
5. Return 4. Grid data and
contours generate contours
6. Combine contours with EM
simulation to de-embed fixture

De-embedded
Measured
Contours

Measured Contours

Page
DEMO: GENERATING LOADPULL CONTOURS

5/4/2017
Keysight Technologies
2017 Page 42
4 Ways to boost simulation data processing using Python

1. Visualize and understand simulation data


Designing a Broadband amplifier with a 3D Smith Chart

2. Enhance analysis of measured data using simulation

De-embedding measured load pull data using EM analysis of fixture

3. Directly compare simulation with measurement though VISA interface

PAM-4 simulation to measurement validation on DCA oscilloscope

4. Compute circuit or model values prior to running simulation

5/4/2017
Keysight Technologies
2017 Page 43
PAM-4 Channel: Simulation vs. Measurement
PAM-4 waveforms have high data rates, but noise and distortion requirements are challenging

Channel simulation to measurement correlation can be difficult, even for the case of a cable*
- Signal Processing might be different in oscilloscope vs. simulation data function !

Goal: Eliminate uncertainty for PAM-4 eye diagram by loading the simulation results into the same
oscilloscope used for measured data, so both waveforms are processed in the same way.

PAM-4: Pulse Amplitude Modulation with 4 amplitude levels

QSFP28 - 3m
(DUT) Measurement
Oscope
AWG Tx RX
Tx
Simulation (AWG)
Eye
Rx
Tx Probe
DUT (DCA
Scope)
Pass through Rx
(Diff to SE)

DUT:
*PAM-4 Simulation to Measurement Validation with Commercially 3m QSFP28 cable
Available Software and Hardware. DesignCon2016 Page
Pyvisa: Connecting to Measurement Test Equipment though Python
The pyvisa package can be used to communicate with any VISA compatible instrument.
I/O libraries must be installed. http://www.keysight.com/find/iolibraries

SCPI commands can now be directly sent to the instrument through Python.

Keysight Flex-DCA

Flex-DCA is the UI for the 86100D DCA-X Oscilloscope. It can load waveform data directly.
http://www.keysight.com/find/flexdca
Page
Controlling the instrument to post process results
ADS calls a python script which uses SCPI commands to load and process waveforms in
Flex-DCA from both simulation and measurement for direct comparison. Then, logic
level measurement results are returned to ADS.
This ensures both waveforms are processed and measured in the same manner.

Flex DCA: Sim, Meas PAM-4 Eye Diagrams


QSFP28 - 3m
Measure DUT (DUT)

AWG Tx

Simulate DUT Sim Waveform


CSV file

Pass waveform file


pointer and specs
Return
Level
data
Load waveform, configure
instrument, measure levels
Logic Levels
are measured
Capture data
Page
DEMO: INSTRUMENT CONTROL AND DATA TRANSFER

5/4/2017
Keysight Technologies
2017 Page 47
4 Ways to boost simulation data processing using Python

1. Visualize and understand simulation data


Designing a Broadband amplifier with a 3D Smith Chart

2. Enhance analysis of measured data using simulation

De-embedding measured load pull data using EM analysis of fixture

3. Directly compare simulation with measurement though VISA interface

PAM-4 simulation to measurement validation on DCA oscilloscope

4. Compute circuit or model values prior to running simulation

Synthesizing an Acoustic Filter by a residual extraction technique

5/4/2017
Keysight Technologies
2017 Page 48
Acoustic Ladder Filter Synthesis
Acoustic Resonators (SAW/BAW/FBAR) are widely used in RF systems for filtering.
For many filters, Synthesis is the first step in design. But for acoustic filters, synthesis often
required computationally intensive algorithms

Goal: Synthesize an Acoustic Ladder Filter using a Python script, then simulate to validate the
synthesis results. Automate the process as much as possible to minimize unnecessary transfer of
information between synthesis tool (Python) and simulation tool (ADS).

Overlap
Capacitance

Image Credit: Acoustic


http://www.edn.com/5G/4413442/SAW--BAW-and-the-future-of-wireless
Resonator Modified Butterworth-
Van Dyke Model
Page
Model of an Acoustic Resonator

Series Resonance

Capacitive Below Fs

Series
Resonance

1 1 C C
fs fp Lm m o
2 LmCm 2 Cm Co

Page
Model of an Acoustic Resonator
Inductive between
Fs and Fp

Series Resonance Parallel Resonance

Capacitive Below Fs

Series Parallel
Resonance Resonance

1 1 C C
fs fp Lm m o
2 LmCm 2 Cm Co

Page
Ladder Networks
Filters are built by cascading sets of series and shunt resonators

Response of Series / Shunt Resonators in Cascade

fp
shunt
fs
series

fs shunt fp series

Typically, shunt resonators are detuned to be lower in frequency than series resonators
Shunt sets the low frequency performance, Series sets the high frequency performance

Page
Ladder Networks
Adding more identical sections gives deep nulls and high out of band rejection, but
results in non ideal passband and input return loss performance.
Response of Series / Shunt Resonators in Cascade

non ideal
passband
fp
response
shunt
fs
series

fs shunt fp series More


Rejection

To achieve an equi-ripple passband response, filter elements cannot be identical, rather


they must be tuned, optimized, or designed to achieve an equal-ripple passband

Page
Ladder Network Synthesis in Python
1. Obtain characteristic equation for ideal lowpass prototype (Chebyshev)

Input is return loss and zero location specs

Output is the S-domain Polynomial for the


prototype (low pass) filter S11(s)=F(s)/E(s)

2. Extract resonator element values using a residue extraction technique*

Input is polynomial and zero locations

Output is the ideal Resonator Component Values

*Ladder-type FBAR Filter Synthesis


Methodology. IEEE DCIS Page
2004
Implementation
Pass specifications from ADS to Python, view prototype filter response, then simulate

2. Synthesize Filter 3a. Prototype Response


1. Pass in filter specs
returned from Python to ADS
(Passband / Return Loss / zeros) based on input specs

3. Return Prototype LP freq.


response for analysis in ADS

Access resonator Frequency Response


data for simulation simulated in ADS

Create file containing values for resonators

Simulate ladder filter with synthesized resonator values

5/4/2017
Keysight Technologies
2015 Page 55
DEMO: ACOUSTIC FILTER SYNTHESIS

5/4/2017
Keysight Technologies
2017 Page 56
Additional References
The material presented today was based in part on the following work. Please see
these references for more details regarding each application example:

3D Smith Chart (aka the Smith Tube)


Joseph Barkate, Matthew Fellows, Jennifer Barlow, Charles Baylis, and Robert J. Marks II. The
Power Smith Tube: Joint Optimization of Power Amplifier Input Power and Load Impedance
for Power-Added Efficiency and Adjacent-Channel Power Ratio. IEEE WAMICON 2015.

Loadpull Simulation and Measurement


Andy Howard. Advances in Load Pull Simulation. IMS2014 (Microapp).
Gary Simpson. A Beginners Guide to All Things Loadpull: Microwaves & RF, Dec. 2014.

PAM-4 Simulation to Measurement Correlation


Lieven Decrock, Heidi Barnes, Rutger Smink,Fangyi Rao, Joris Van Kerrebrouck, Timothy De
Keulenaer, Johan Bauwelinck. PAM-4 Simulation to Measurement Validation with
Commercially Available Software and Hardware. DesignCon 2016.

Acoustic Filter Synthesis


Alexandre A. Shirakawa, Jean-Marie Pham, Pierre Jarry, Elias Hanna..

5/4/2017
Keysight Technologies
2017 Page 57
Closing
For more information, check out these videos
Data Link Setup (Prerequisite):
http://www.keysight.com/find/eesof-ads-data-link-setup

ADS Data Link Basics:


http://www.keysight.com/find/eesof-ads-data-link

Advanced Plotting:
http://www.keysight.com/find/eesof-ads-3d-plots

Instrument Connectivity:
http://www.keysight.com/find/eesof-ads-instrument

Each video links to a workspace on the Keysight Knowledge Center

Keysight Technologies
2017 Page 58
www.keysight.com/find/eesof-how-to-videos

How To Video Series


Application Focused
(10 min each)
Free workspace

http://www.keysight.com/find/mytrial.rfmw.wc
Keysight Technologies
2017 Page 59

Das könnte Ihnen auch gefallen