Use of HFSS as integral part of
efficient design environment
for waveguide components
Jan Kocbach, Kjetil Folgerø
Nera Networks, Norway
J. Kocbach and K. FolgerøAnsoft Converge 2005 - Slide 2
Outline
• Nera products and needs
• Design environment
– Overview of design environment
– Role of HFSS in design environment
– HFSS – Matlab interaction
• Applications and examples
• Summary
J. Kocbach and K. FolgerøAnsoft Converge 2005 - Slide 3
Nera Products
• Terrestrial (Nera Networks)– Long haul networks (4-11 GHz)
– Fixed wireless access (6-40 GHz)
– Mobile infrastructure (6-40 GHz)
• Satellite (Nera Satcom)
– Mobile satellite communication solutions
– Broadband satellite communication solutions
J. Kocbach and K. FolgerøAnsoft Converge 2005 - Slide 4
Passive microwave components at Nera
• Design wide range of different passive microwave components– Waveguide filters
– OMTs, Polarizators
– Microstrip-to-waveguide and Microstrip-to-coaxtransitions
– Microstrip/stripline filters
• Many frequency variants for eachcomponent
J. Kocbach and K. FolgerøAnsoft Converge 2005 - Slide 5
• Need efficient and versatile design environment
– Accurate and flexible full 3D tool for
• complex structures
• final design phase & field analysis
– Fast tool for
• simple structures & initial design of more complex structures
• work on design methods
– ”Push-button” design
• fast design of frequency variants
• short design cycles
Passive microwave components at Nera
J. Kocbach and K. FolgerøAnsoft Converge 2005 - Slide 6
Design Environment
Control: Matlab
HFSS
STL export
SAT import
via translator
Via netlist
files Control software
3D simulator
Waveguide components / Passive microwave components
– Full 3D EM
• Arbitrary geometries
• possible to view fields/animations
• Drawback: Slow(compared to Mode matching)
– Mode matching
• Very fast solving
• Optimization with >10.000 iterations
• Large library of geometries
• Drawback: Not arbitrary geom
Via macros
Mode matching
software
Pro Engineer
CAD/CAE
Matlab control software also
communicates with other 3D
and 2.5D simulators used
at Nera
J. Kocbach and K. FolgerøAnsoft Converge 2005 - Slide 7
Matlab – HFSS interaction
• Our approach based on HFSS v9
– Interface to HFSS from Matlab
1. Make macro file using Matlab function
2. Matlab function starts HFSS with /RunScriptAndExit
3. Matlab function reads ”.tab” or ”.nmf” file into Matlab
• As of HFSS v10
– COM engine for Matlab-HFSS interaction
– Very similar program buildup - even better interaction possible
J. Kocbach and K. FolgerøAnsoft Converge 2005 - Slide 8
Matlab – HFSS interaction
• Defined ”Meta-language” for HFSS in Matlab
• Typical analysis functions:
– Repeated calling of setup/drawing-functions and h_runhfss function
• Simple analysis functions – short development time
h_addmaterial Add material Input: struct with material parameters
h_box Draw box Input: geometry vectors
h_cyl Draw cylinder Input: geometry vectors
h_rectangle Draw rectangle Input: geometry vectors
h_rectsweep Sweep rectangle Input: geometry vectors
h_iris Draw iris Input: struct with variables
h_polysweep Sweep polygon Input: vector with points + sweep
h_definesolution Define solution Input: struct with solution details
h_init Initialize Input: none
h_newcoordsys New coordinate sys Input: scalars theta/phi, coordsys name
h_plus Add two HFSS vars Input: strings/operators
h_setboundary Set boundary Input: string, type of BC
h_setcoordsys Set coordinate sys Input: string, name of coordinate system
h_setport Set port Input: string, object name
h_subtract Subtract objects Input: string, object names
h_unite Unite objects Input: string, object names
h_runhfss Run HFSS Input: struct with all info
J. Kocbach and K. FolgerøAnsoft Converge 2005 - Slide 9
Matlab – HFSS interaction
• ”Meta-language” - code example:
% Define variables
a=10.668;b=4.318;lin=6;
liris=[1.3 1.5 1.3];
airis=[6.5 6 6.5];lres=[6.3 6.3];
% Draw geometry
sp=h_init;sp=h_box({0 0 0},{lin a b},sp);
for i=1:length(liris)-1
sp=h_box({sp.x 0 0},{liris(i) airis(i) b},sp);sp=h_box({sp.x 0 0},{lres(i) a b},sp);
endsp=h_box({sp.x 0 0},{liris(end) airis(end) b},sp);
sp=h_box({sp.x 0 0},{lin a b},sp);
% Define ports
sp=h_rectangle({sp.x 0 0},{0 a b},sp);sp=h_setport(sp.last_obj,sp);
sp=h_rectangle({0 0 0},{0 a b},sp);sp=h_setport(sp.last_obj,sp);
J. Kocbach and K. FolgerøAnsoft Converge 2005 - Slide 10
Matlab – HFSS interaction
• Definition of sample function h_box
function [sp]=h_box(basevc,sizevc,sp)
<--- lines omitted --->
if sp.slipangle~=0
[sp]=h_box_slipa(basevc,sizevc,sp);
else
<--- lines omitted --->
sp.cmd{end+1}=[...
'oEditor.CreateBox Array("NAME:BoxParameters", _\n' ...
'"XPosition:=", ' h_tostr(basevc{1}) ', _\n' ...
'"YPosition:=", ' h_tostr(basevc{2}) ', _\n' ...
'"ZPosition:=", ' h_tostr(basevc{3}) ', _\n' ...
'"XSize:=", ' h_tostr(sizevc{1}) ', _\n' ...
'"YSize:=", ' h_tostr(sizevc{2}) ', _\n' ...
'"ZSize:=", ' h_tostr(sizevc{3}) '), _\n' ...
'Array("NAME:Attributes", "Name:=", "' name '", _\n' ...
'"Flags:=", "", "Color:=", "' simpar.curr_color '", _\n' ...
'"Transparency:=", ' num2str(simpar.curr_transparency) ' _\n'...
' , "PartCoordinateSystem:=", "Global", _\n' ...
'"MaterialName:=", "' simpar.curr_mat '", _\n' ...
'"SolveInside:=", ' simpar.solve_inside ')'];
<--- lines omitted --->
end
Set only one variable
to use slip angles
Global settings
J. Kocbach and K. FolgerøAnsoft Converge 2005 - Slide 11
Matlab – HFSS interaction
• Matlab applied as control software
– Partly common control functions for HFSS and othersimulators
• Circuit models implemented in Matlab
– HFSS and other 3D/Mode matching programsapplied for training of circuit model
– Trained circuit model used for very fast tolerance analysis
– Circuit model used for intelligent filter design in conjunction withHFSS and/or other 3D/Mode matching programs
– Applied for automatic and reliable design procedures
• Cascade coupling of S-pars from HFSS/Other simulators
– similar functionality to Ansoft Designer(?)
J. Kocbach and K. FolgerøAnsoft Converge 2005 - Slide 12
Matlab – HFSS interaction
• Optimization
– Optimization done by repeated calling of HFSS usingdifferent Matlab optimizers
• Tolerance analysis & sweeps
– Tolerance analysis & sweeps with arbitrary distributions by repeated calling of HFSS
• Documentation
– Automatic documentation of HFSS simulations from Matlab
– Simple text-file with ”meta-language” commands definesproblem
• Simplified buildup of complex models
J. Kocbach and K. FolgerøAnsoft Converge 2005 - Slide 13
Applications (I)
• Design of waveguide filter with slip angles
– Full 3D tool required for simulations due to slip angles
– Fast & predictable design possible using step-by-step procedure
• No optimization in 3D tool required
• Basic Theory described in [1]
– Automated design procedure using Matlab + HFSS
• Input: Center frequency, bandwidth, ripple & filter order
• Output: Filter dimensions, S-parameters
[1] Folgerø, K. (Nera Research), Step-by-step procedure for design of waveguide filters with HFSS,
Ansoft HFSS User Workshop, Los Angeles, January 2001
J. Kocbach and K. FolgerøAnsoft Converge 2005 - Slide 14
Applications (I)
• Design of waveguide filter with slip angles
S21 = -5.1 dB
Circuit model gives ideal S-parameter
value for each coupling
J. Kocbach and K. FolgerøAnsoft Converge 2005 - Slide 15
Applications (I)
• Design of waveguide filter with slip angles
1 2 3 4 5 6
-18
-16
-14
-12
-10
-8
-6
-4
SimulationCircuit model
Iteration number
S21[dB]
Coupling 1
S21 = -5.1 dB
Vary iris width
(varying iris width)
”Tune” single coupling
J. Kocbach and K. FolgerøAnsoft Converge 2005 - Slide 16
Applications (I)
• Design of waveguide filter with slip angles
J. Kocbach and K. FolgerøAnsoft Converge 2005 - Slide 17
Applications (I)
• Design of waveguide filter with slip angles
J. Kocbach and K. FolgerøAnsoft Converge 2005 - Slide 18
Applications (I)
• Design of waveguide filter with slip angles
f [GHz]
S-parameters[dB]
Simulation of complete filter
with slip angles
J. Kocbach and K. FolgerøAnsoft Converge 2005 - Slide 19
Applications (I)
• Measurements: Waveguide filter with slip angles
J. Kocbach and K. FolgerøAnsoft Converge 2005 - Slide 20
Applications (II)
• OMT with slip angles– Nominal version without slip angles optimized using ModeMatching simulator
– Exported from ModeMatching simulator to ProEngineer
– Slip angles + some other changes applied in ProEngineer
– Imported from ProEngineer to HFSS
– Some iterations with varying normal plane for slip angles
18 20 22 24 26 28 30 32
-50
-40
-30
-20
-10
0
frequency (GHz)
S (dB) Without slip-angle
With slip-angle*
*Final iteration regarding normal plane for slip angles
J. Kocbach and K. FolgerøAnsoft Converge 2005 - Slide 21
Applications (III)
• Composite structure: OMT + 2 filters
– All components simulated individually in HFSS with slip angles
– Cascade coupling of S-parameters done in Matlab(would also be possible in Ansoft designer)
– Tuning of waveguide lengths between components
– Tolerance analysis for filters without slip angles (ModeMatching)
– Cascade coupling of S-parameters done in Matlab
• OMT with slip angles (nominal)
• filter without slip angles (100 iterations each)
+
J. Kocbach and K. FolgerøAnsoft Converge 2005 - Slide 22
Applications (IV)
• Microstrip-to-waveguide transition
– Large number of frequency variants needed
– Problem setup, optimization, tolerance analysis done automatically from Matlab
S-parameters[dB]
f [Hz]
J. Kocbach and K. FolgerøAnsoft Converge 2005 - Slide 23
Applications (V)S-parameters[dB]
f [GHz]
• Rectangular dual mode filter
– Blue line: HFSS. Red line: ModeMatching
– HFSS simulation to visualize fields
J. Kocbach and K. FolgerøAnsoft Converge 2005 - Slide 24
Applications (V)
• Rectangular dual mode filter
– Very good correspondence between simulations and measurements
– No tuning
J. Kocbach and K. FolgerøAnsoft Converge 2005 - Slide 25
Summary
• HFSS central part of effective design environment for waveguide components
• Key points
– ”Meta-language” for HFSS
– Repeated calling of HFSS from Matlab
– Common control functions for HFSS and other tools
– Reliable and repeatable design – aided by circuit models
– Automatic design cycles