EEsof Momentum Tutorial
This exercise is designed to get you acquainted with the Agilent
Technologies (formerly Hewlett Packard) EEsof Advanced Design System (ADS)
software, and to reinforce the information on antenna design that we have
been studying. The exercise will more-or-less lead you through the
software and should be all you need (the ADS user interface is great -
very easy to use and 'Windows-like'). However, if you wish to learn
more, all the manuals are on-line (choose 'help' after starting the program),
and there is a Getting Started with Momentum manual in the
Setting up Your Account
Before you can run the software, you will need a few things:
An account on the EECE network giving you access to the UNIX environment
Rudimentary knowledge of UNIX. A tutorial/refresher can be found
Edits to your UNIX startup file (.cshrc or .tcshrc) to allow the operating
system to find the program. See section on environment variables below.
You must tell the operating system and the program itself where they can
find certain things. This can be done by adding the following lines to
your '.tcshrc' file in your home directory. Note that you will have
to log out and back in, or invoke a new shell before these changes will
# variables and path for EESOF RF design program
setenv HPEESOF_DIR /usr/local/hp1.3
setenv LM_LICENSE_FILE $HPEESOF_DIR/licenses/license.dat
set path = ( $path $HPEESOF_DIR/bin
Running on the Sun Network
The EEsof ADS software that we have runs under the Solaris operating system
on the department's Sun workstations ('fang' is the primary machine).
Up to 5 students can use it at once by logging in to one of the Linux workstations,
"telnet'ing" to a remote Sun machine (e.g. telnet fang), and then
setting up the remote machine to send the display information back to the
Linux box. If you are not familiar with this process, click here
for more info.
Overview of the Exercise
Our goal is to draw a simple dipole antenna using the ADS layout
editor and then analyze it using the ADS electromagnetic simulation program
"Momentum". The program can show you the antenna impedance, the current
distribution, and the far field patterns. It can also compute many
useful parameters such as the effective aperture, the efficiency, and the
antenna gain. (We will learn the schematic editor and circuit simulation
portions of ADS in the next exercise.)
Starting the Program
After making the path and environment variable additions to your unix startup
file (see above), type 'hpads' to start the program. After a few
moments, you should see a small file browser come up. This is the
"Main Window" in ADS (although not the most impressive looking one !)
This browser can be used for navigating through your directories, and through
those in the "project" you create when working with the program.
Creating a New Project
Select File > New Project from the Main Window.
Enter a project name, but don't hit Return or OK. (The program
will append '_prj' to this so that projects can be easily recognized.)
Select a length unit. The default is 'mil' (0.001 inch), which is
OK for this exercise. (For a chip-scale layout, we'd probably change
this to um)
After a few moments, the system should bring up a Schematic Editor.
Since we will not be drawing a schematic in this exercise, exit the Schematic
Window (Use File>CloseWindow, or double-click in the upper left).
Creating a Layout
We will be creating our antenna by drawing traces on a PC board.
In the layout editor, you can draw traces of various widths and lengths
on various layers (like the top or bottom of a PC board). We will
use a single layer, and draw the following geometry:
To accomplish this, do the following:
From the Main Window, select Window>NewLayout, or hit the layout icon on
the tool-bar (button with yellow shapes on black background to the right
of the schematic icon) .
Grow the Layout Window if desired to make the drawing area in the middle
of it larger.
Configure the grid by selecting Options>Preferences and selecting the Grid/Snap
tab on the resulting popup form. On this form, enter 10 for the X
and Y grid snap distances. This will guarantee that all lines drawn
will start or end on grid locations separated by an exact multiple of 0.01"
(10 mils). Then set the Minor Display Factor and Major Display Factors
to 1 and 10 respectively, so that there will be small dots every 0.01"
and larger dots every 0.1". Close the form.
Move the cursor around in the main drawing area to find the origin (look
at the bottom of the window for the cursor's X,Y position and find 0,0).
Remember this location.
Now select Draw>Path and enter a width for the trace of 50 (mils).
Draw a path/trace on the board starting at location -100, 50 (x=-0.1",
y=+0.05"), going to 0, 50, and then moving up to about 0,150 mils.
(Start the trace by clicking once, click once at each point along the trace,
and click twice in the same location to end it.)
Exit the draw trace command by clicking the right mouse button (RMB) in
the drawing area to bring up a menu and selecting EndCommand.
Now we need to zoom out so that we can continue the trace upwards.
Click the right mouse button (RMB) to bring up the menu and select ZoomOutX2.
Repeat this as needed until you can see enough to draw the trace upwards
to location 0, 1050.
Extend the trace upwards to 0,1050 by selecting the endpoint at 0,150 and
stretching it up to the new location.
Unselect everything by clicking once with the left mouse button in a blank
region of the drawing window.
To create the opposite element of the dipole, select Edit>Copy/Paste>Copy,
select the element to highlight it, and then move to the new location and
click the left mouse key once to place the copy. (It is obviously
helpful if your currently viewed area allows you to get there. Try
the ViewAll and Pan commands from the RMB menu)
If necessary to get the copy to the right location, reconfigure the display
and move the copied trace as needed with Edit>Move.
Flip the copy over using Edit>Mirror>MirrorAboutX and verify that your
final layout looks like that shown above.
Lastly, we need to add "ports" to the antenna feedpoint terminals.
To prepare for this, zoom in (using ZoomArea from the RMB popup menu) on
With the view zoomed in, move the trace endpoints if necessary to make
sure they both start at the same X coordinate (the two ports we will attach
must be on a common vertical "reference plane" for the electromagnetic
simulation we will be running to work).
Select Component>Port and place a port on each trace end.
Do a ViewAll from the RMB popup and check that the layout is correct
Save your work with File>SaveAs, and enter an appropriate name (e.g. "dipole").
Printing your Layout
You need to turn in a hardcopy of your layout. To do this, use the
From the layout window, choose File>Print. This should result in
a Popup screen, which should be configured to print to a file in postscript
format. (If it isn't, come see me.)
Click OK and then on the next popup form, go to the OutputToFile section
at the bottom and enter a file name (with a .ps suffix). Note where
the file will be placed so that you can find it later to print it.
From a UNIX shell (terminal), cd into the appropriate directory where your
file is and print it. This can be done using the command "lpr -P<printername>
<filename>" where you insert the appropriate text strings. For
the LaserJet 8000 printer in the computing lab (RA153) use '8k' for the
Simulating the Antenna with Momentum
Momentum is EEsof's electromagnetic simulator. It solves Maxwell's
field equations for 2.5 D layouts such as those encountered in circuit
boards and ICs. It can then show you the terminal impedance of your
layout (antenna reactance and radiation resistance in our case), as well
as the current flow on the metal traces, and the far field patterns.
The process of setting up and running the simulation and then viewing
the results involves a sequence of steps:
Define the substrate. A substrate is a definition of the insulation
layers present above and below the metal traces of the layout layers.
In our case, we have only one layer, so we will define the regions above
and below to be simply "Free Space" (a medium/substrate with relative permittivity
and permeabilities of 1).
Precompute Substrate Functions. This is cryptic language for finding
the Green's functions associated with the substrate defined above.
Recall that we used a Green's function to find the far field of an antenna
in Homework 1. We added up (integrated) the far field produced by
elements along the antenna of lenght dx. The process in Momentum
is similar, except that the program must figure out what the far field
is from a a region of size dx*dy in the presence of the substrate defined
(which in general is not simply free space).
Define the properties of the Ports you placed in the Layout editor.
A port is a terminal (or set of two terminals) on the layout at which the
program will compute the circuit impedances, etc. We will take our
two ports and group them together in this step to create a single "differential"
port (since there is no ground in our layout).
Define and Precompute the Mesh. A "mesh" is a division of the layout
into small rectangles or triangles so that the fields from each can be
found and then added together to get the total field.
Simulate the Circuit. In this case, "circuit" refers to the layout.
Here the program finds the fields computed from the individual mesh elements
and adds them up. Since the currents in each element are not known
initially, the process must start with a guess and then iterate to a solution
(since the fields produced interact with and modify the currents).
Display the results. By default, the program shows the terminal characteristics
in "S-Parameter" form (in our case, it will show the antenna feedpoint
impedance on a Smith Chart) You can also use "PostProcessing" menu
items to find the far fields and display the currents on the antenna.
The detailed steps you need to follow to accomplish this are shown
From the Layout window, select Momentum>Substrate>Create/Modify
Select GND and change the BoundaryType to Open. (The program normally
assumes you're doing a two sided PC board with a ground plan on one side.
Our antenna will be simulated as if it is sitting in mid-air.
Change SubstrateLayerName to FreeSpaceBottom and click Apply.
Change Permittivity to 1.0 and click Apply
Click the Metallization Layers tab to allow the resistance of the trace
to be defined.
On the form, click on the line between the FreeSpace and FreeSpaceBottom
substrates, verify that LayoutLayers shows 'cond' (the layer you drew your
antenna elements on), and then click Strip and Apply. This tells
the program that that cond lies between the two substrate layers, and is
a simple PC board-like trace.
Click OK to exit the form.
Select Momentum>PrecomputerSubstrate on the Layout window, enter frequency
range of 1 to 4 GHz, and then click OK.
Wait for the computation to complete (a few minutes). The Green's
functions are now computed.
Save the Green's functions for this substrate to disk by selecting Momentum>Substrate>SaveAs
from the Layout window and entering an appropriate name (e.g. FreeSpace).
Now setup the ports by selecting Momentum>PortEditor on the Layout window.
Select port P1 on the layout and then change the port type to Differential
on the PortEditor form.
Click Apply and then select port P2 on the layout.
On the PortEditor form for P2, change it to differential, change its polarity
to reversed, and then enter "1" in the AssociateWithPortNumber box.
Click OK to close the port editor form.
Next, setup the mesh by selecting Momentum>Mesh>SetupControls, entering
4 GHz for the highest frequency, and selecting OK.
Select Momentum>Mesh>PrecomputeMesh to ask the program to divide your layout
into small square/triangular regions appropriate for the frequency range.
You should see the regions show up on the layout.
Finally, select Momentum>SimulateCircuit to solve for the currents on the
antenna and the fields they create. Enter Start and Stop frequencies
of 1 and 4 GHz,click Apply, and then click Simulate.
When the simulation completes, it should bring up a set of graphs showing
the S-parameters for the antenna. The Smith Chart shows S11, the
complex input impedance of the antenna.
Examining the Results
There are many ways in which the results of an electromagnetic simulation
can be examined. The charts that come up at the end of the simulation
show the port impedances, etc., but you can also look at the currents on
the antenna, the fields produced by the antenna, and many important antenna
characteristics such as the directivity/gain, effective area, and efficiency.
In this last section, we will take a tour of some of these features of
the program. You will also print out several items to prove that
you got this far!
To read the antenna impedance, select Markers>New on the graph window,
and click on the curve on the smith chart where it crosses through the
horizonal line. This is where the values of impedance on the Smith
Chart are purely real, which means the antenna is resonant. Read
off the impedance value. It is shown as Z0*(x + jy). Here,
Z0 is 50 Ohms (not the 377 Ohms of free space). Hence, if x and y
are 1.5 and 0, then Z would be 75+j0 Ohms. Also note the frequency
where the antenna is resonant. Is it what you would expect for an
antenna of this length?
Print out this graph. You may want to zoom in on it. You can
do this with the RMB popup menu just like in the layout editor.
Close the graph window and select Momentum>PostProcessing>RadiationPattern.
On the resulting form, select 2D Data Display, and set the frequency to
Next, select the 2D Settings tab and change the cut angle to 90 degrees.
This will allow the pattern to be displayed versus theta as we computed
it in Homework 1.
Zoom in on the set of 4 plots in the lower right corner of the resulting
Print these out and close the graph display.
Finally, experiment the Momentum>PostProcessing>Visualization menu item.
This allows you to observe the currents on the antenna in various ways.
There is no specific instruction here. Just see what you can do with
it and see if it makes sense.
Turn in the printout of your layout and the printouts of the antenna
impedance and 2D pattern data. Also turn in a discussion of whether
or not these data generated by the simulation is reasonable. For
example, does the impedance of the antenna agree with theory? Does
the antenna gain and effective areas match what you expected to see?