You are on page 1of 57

BeamPROP

AWG Utility v2.1

RSoft Design Group, Inc.


400 Executive Blvd. • Suite 100
Ossining, NY 10562

Phone: 1•914•923•2164
Fax: 1•914•923•2169
info@rsoftdesign.com
www.rsoftdesign.com

Copyright © 1997 - 2008


All Rights Reserved.
Contents
Preface 1
Notices ....................................................................................................................................... 1
Limited Warranty ........................................................................................................ 1
Copyright Notice ......................................................................................................... 1
RSoft Design Group™ Trademarks ............................................................................ 1
Acknowledgments ....................................................................................................... 1
System Requirements ................................................................................................................ 2
How to read this manual ............................................................................................................ 2
What should I read and when? .................................................................................... 2
Conventions................................................................................................................. 2

Chapter 1: Introduction 3
1.A. Background........................................................................................................................ 3
1.B. References.......................................................................................................................... 3

Chapter 2: AWG Design 5


2.A. AWG System Overview .................................................................................................... 5
2.B. Star Coupler Design ......................................................................................................... 10
2.C. Array Design .................................................................................................................... 11

Chapter 3: The BeamPROP AWG Design Utility 13


3.A. Getting Started ................................................................................................................. 13
3.B. Design Procedure ............................................................................................................. 14
3.C. Using the WDM Router Layout Utility............................................................................ 14
3.C.1. Using the Menu Options ................................................................................. 14
3.C.2. The Input and Output Star Coupler Designs ................................................... 16
3.C.3. Freely and Non-Freely Changeable Parameters.............................................. 19
3.C.4. Layout Geometry ............................................................................................ 20
3.D. Using the WDM Router Simulation Utility ..................................................................... 24
3.D.1. Overview of Simulation Procedure................................................................. 24
3.D.2. Using the Menu Options................................................................................. 25
3.D.3. The Scan Script Files ...................................................................................... 27
3.D.4. The Out Script Files........................................................................................ 28
3.D.5. The Plot Script Files ....................................................................................... 29
3.E. Running The Simulation .................................................................................................. 29
3.E.1. Running the Simulation using the Menu Options ........................................... 29
3.E.2. Running the Simulation from the Command Line .......................................... 30
3.F. Additional Features and Issues ......................................................................................... 31
3.F.1. Batch File Modification................................................................................... 31
3.F.2. Multiple Variable Scanning............................................................................. 31
3.F.3. Generating User Tapers................................................................................... 33
3.F.4. Performing the Simulation for Both Star Couplers ......................................... 33
3.F.5. Taking into Account Dispersion Characteristics ............................................. 33

BeamPROP AWG Utility v2.1 Contents • iii


3.F.6. Performing 3D Simulations............................................................................. 34
3.F.7. Adding Bend Loss and Coupling information................................................. 34

Chapter 4: BeamPROP AWG Tutorial 35


4.A. Getting Started ................................................................................................................. 35
4.B. The WDM Router Layout Utility..................................................................................... 35
4.C. The WDM Router Simulation Utility............................................................................... 38
4.D. Getting Your Results........................................................................................................ 40

Appendix A: Executables and Associated Options 43


A.1. STARGEN ....................................................................................................................... 43
A.2. TAILMON ....................................................................................................................... 44
A.3. PHASECOR..................................................................................................................... 44
A.4. FIELDGEN.exe ............................................................................................................... 44
A.5. SCRIPGEN ...................................................................................................................... 44

Appendix B: Symbols Found in the Design Files 47


Symbols Found in the Design Files ......................................................................................... 47

Appendix C: AWG File Formats 51


AWG Design Info File Format ................................................................................................ 51
Mode List File Format ............................................................................................................. 51

Index 53

iv • Contents BeamPROP AWG Utility v2.1


Preface

The AWG utility is included with BeamPROP, and provides an automated way to design Array Waveguide Gratings.

Notices
This section has a list of legal and other miscellainous information pertaining to the software.

Limited Warranty
RSoft Design Group, Inc. warrants that under normal use, the physical media (diskette and documentation) will be free
of material defects for a period of thirty days from the date of purchase. Upon written notice, RSoft Design Group, Inc.
will replace any defective media. No other warranty of any sort, either expressed or implied, is provided with this
software. No liability for damage to equipment or data, or any other liability, is assumed by RSoft Design Group, Inc.

Copyright Notice
Copyright © 1997-2008 RSoft Design Group, Inc. All Rights Reserved.
Copyright is claimed for both this manual and the software described in it.

RSoft Design Group™ Trademarks


RSoft Design Group, RSoft Inc., RSoft, The RSoft CAD Environment, BeamPROP, FullWAVE, BandSOLVE,
GratingMOD, DiffractMOD, FemSIM, ModePROP, LaserMOD, OptSIM, LinkSIM, EDFA for Vendors, ModeSYS,
Artifex, MetroWAND, SWAT, WinPLOT, and RPlot are trademarks of RSoft Design Group, Inc.

Acknowledgments
IBM is a registered trademark and IBM PC, PS/2, and OS/2 are trademarks of International Business Machines
Corporation. Intel is a trademark of Intel Corporation. Microsoft and MS- DOS are registered trademarks and Windows
is a trademark of Microsoft Corporation. Unix and Motif are registered trademarks and X Windows is a trademark of
The Open Group. Linux is a registered trademark of Linus Torvolds. Xfree86 is a registered trademark of the The
Xfree86 Project. All other product names referred to in this document are trademarks or registered trademarks of their
respective manufacturers.

BeamPROP AWG Utility v2.1 Preface • 1


System Requirements
The RSoft Passive Device Suite will run on an IBM compatible personal computer with an Intel Pentium III or higher
processor (or AMD equivalent), 256 MB RAM or higher depending on the application, and 250 MB of hard-disk space.
Versions for 32-bit and 64-bit Windows and Linux are available. The Windows versions require Windows
2000/XP/Vista. Linux versions have been tested on the standard Red Hat configuration using X Windows or Xfree86
and Motif.

How to read this manual


The following are some guidelines on the contents of this manual and the conventions used within it.

What should I read and when?


Chapter 2 provides an overview of the underlying principles of AWG design, Chapter 3 covers the details of the AWG
design employed in the utility, and Chapter 4 contains an AWG design tutorial. Note that the tutorial is designed to be
self contained, so users who have a familiarity with AWG design can skip directly to the tutorial. It is recommended,
however, that even advanced users read the manual in its entirety in order to ensure an understanding of how the utility
functions.
Furthermore, this document assumes familiarity with BeamPROP, since the beam propagation method is used to
calculate the transmission characteristics of devices. If you have not done so already, it is recommended that you spend
some time reading through the BeamPROP manual and working through the BeamPROP tutorials in order to familiarize
yourself with the CAD interface and BPM simulation techniques.

Conventions
A number of typeface and layout conventions are followed in this manual.
• Actions to be performed in the BeamPROP or CAD interfaces are usually indented in bulleted or numbered
lists.
• The names of fields and controls in the GUI dialogs are written in boldface Courier
• The values of pull-down menus and radio button controls are written in Roman italics.
• Symbol table variables and formulas, and expressions to be typed into the GUI edit fields are written in
Courier.

• In referring to example CAD files, the installation directory for the RSoft Photonics Suite is specified as
<rsoft _dir>, and should be replaced with the correct value for your installation. On Windows
machines this is typically c:\rsoft.

2 • Preface BeamPROP AWG Utility v2.1


Chapter 1: Introduction

This chapter provides background information and references for the AWG utility.

1.A. Background
This document is the BeamPROP AWG Utility manual. The AWG Utility is intended to allow the users of BeamPROP
to more easily set up the design and simulation of arrayed waveguide grating (AWG) devices which are also known as
PHASAR’s. AWG devices function typically as multiplexers, demultiplexers, and routers for wavelength division
multiplexing (WDM) systems. The purpose of this document is to discuss the operation and underlying principles of the
AWG utility.
The assumption is made that the user is familiar with BeamPROP and the tools contained within. Note that this
document only discusses the AWG Utility. Since this utility uses the beam propagation method to calculate the
transmission characteristics of the devices, general beam propagation techniques and familiarities should be utilized.
Some familiarity of WDM and AWG design is assumed as well.
The outline of this document is as follows. Chapter 2 summarizes the underlying principles of AWG’s. Chapter 3
describes the details of the AWG design employed in the utility. Chapter 4 is a step-by-step tutorial on the operation of
the utility. Finally, several appendices give supplementary information.
Note that the tutorial has been design to be self contained as much as possible, so readers having familiarity with AWG
design and wishing to begin learning the operation of the utility can go directly to the tutorial. However, it is suggested
the user read through this entire document before serious work is attempted, so that the design process from the utility’s
perspective is understood.
Please also note that the old BeamPROP AWG Utility documentation is still included in the c:\beamprop\router
directory for those users more familiar with those documents. However, this document is the combination of the two.
Finally, any questions or issues that arise regarding the use of this utility can always be directed to RSoft.

1.B. References
The following references are meant to give the reader familiarity with AWG design and use. They are not meant to be a
comprehensive list but merely a starting point to understand the design and use of the AWG router and the utility. A
reference on the simulation techniques in BeamPROP is also given.
[1] H. Takahashi, K. Oda, H. Toba, Y. Inoue, “Transmission Characteristics of Arrayed Waveguide N x N Wavelength
Multiplexer,” J. of Lightw. Techn., 13, 447 (1995).
[2] M. Smit, “PHASAR-Based WDM-Devices: Principles, Design and Applications,” IEEE J. of Select. Topics in
Quantum Elec. 2, 236 (1996).

BeamPROP AWG Utility v2.1 Chapter 1: Introduction • 3


[3] K. Okamoto, K. Takiguchi, Y. Ohmori, “Eight-Channel Flat Spectral Response Arrayed-Waveguide Multiplexer with
Asymmetrical Mach-Zender Filers,” Photonics Technology Letters, 8, 373 (1996).
[4] A. Kaneko, T. Goh, H. Yamada, T. Tanaka, I. Ogawa, “Design and Applications of Silica-Based Planar Lightwave
Circuits,” IEEE J. of Select. Topics in Quantum Elec. 5, 1227 (1999).
[5] R. Scarmozzino, A. Gopinath, R. Pregla, S. Helfert, “Numerical Techniques for Modeling Guided-Wave Photonic
Devices,” IEEE J. of Select. Topics in Quantum Elec. 6, 150 (2000).

4 • Chapter 1: Introduction BeamPROP AWG Utility v2.1


Chapter 2: AWG Design

This chapter deals with the fundamental concepts of AWG design. The basic construction and formulation of the
equations that define AWG functionality will be solved for here.
This chapter is not mean to be a comprehensive collection of AWG concepts. It is only intended to be used in the scope
of the BeamPROP AWG Utility and the method it uses to design the router. This chapter will give the user the
methodology of AWG design from the perspective of this utility.
The user can go directly to Chapter 4 for a tutorial on how to use the AWG design if this background information is not
desired.

2.A. AWG System Overview


A typical design layout for an AWG multiplexer is shown in Fig. 1.

BeamPROP AWG Utility v2.1 Chapter 2: AWG Design • 5


Figure 1: Typical AWG Multiplexer Layout

The essential components are the free propagation regions (FPR), i.e. the two star couplers, and the arrayed waveguides.
The basic concept of the operation of this device is as follows. First, the incoming source propagates into the free
propagation region in the slab waveguide. In this larger waveguide, the beam diverges. Then, the input beam propagates
to the input aperture of the arrayed waveguides, and is collected by, and propagates independently, in each arm of the
array. Each array waveguide is chosen to have a path length greater than the adjacent waveguide by an integer multiple
of the center operating wavelength of the device in the effective medium of the waveguide. Thus, the array has a path
length difference between each successive waveguide equal to
mλ0
ΔL =
na
(1)
where:
m the order of the array
λ0 the center operating wavelength of the device

6 • Chapter 2: AWG Design BeamPROP AWG Utility v2.1


na the effective index of the arrayed waveguide

At the center wavelength, the wave in each arm of the array will arrive with the same relative phase, producing a mirror
image at the second star coupler of the field in the first coupler. Thus, when it propagates into the second slab
waveguide, it becomes convergent and will be focused into the center of the output side of the second star coupler.
However, at other wavelengths, as the field propagates along the arrays, the path length differences will cause the phase
front to tilt. As a result, these wavelengths will be focused at an angle to path of the center wavelength. At the output of
the second free propagation region, receiver waveguides are placed so that these focused fields can be properly confined
and guided out.
These free propagation areas are designed in the context of star-couplers. The star couplers in the AWG are based on a
Rowland circle geometry and are further discussed in the next section The geometry of these star couplers is shown in
Fig. 2 below.

Figure 2: Basic Star Coupler (FPR) Design

It can be seen that the central phase matching equation as a result of this system is shown in equation (2) as given in [3].
n s d sin (θ i ) + na ΔL + n s d sin (θ o ) = mλ
(2)

BeamPROP AWG Utility v2.1 Chapter 2: AWG Design • 7


Δx
θi = i ∗
Lf
(3)
Δx
θo = j ∗
Lf
(4)
where
ns the effective index of the slab in the star coupler
d the separation of the inputs and outputs of the arrays
I the number of the input waveguide
j the number of the output waveguide
Δx the separation of the inputs and outputs of the star couplers
Lf the focal length of the star coupler
To get the angular dispersion of the system, we differentiate Eq. (2) with respect to λ. We assume that θi≈θo≈0. Also,
we assume that θi is constant. Thus, we find:
∂θ o ∂na
m = ns d + ΔL
∂λ ∂λ
(5)
near the center frequency:

∂θ o ∂n a mλ0
m = ns d +
∂λ ∂λ n a
(6)

∂θ o m ⎛ λ0 ∂n a ⎞
= ⎜1 − ⎟
∂λ dn s ⎜⎝ na ∂λ ⎟⎠
(7)

∂θ o mn g
=
∂λ dn s na
(8)
where
∂n a
n g = n a − λ0
∂λ
(9)
and since
−c
∂f = ∂λ
λ2

8 • Chapter 2: AWG Design BeamPROP AWG Utility v2.1


(10)

∂θ o mλ2 n g
=−
∂f cdn s na
(11)
Thus, Eq.’s (8) and (11) give us the dispersion relations in terms of wavelength and frequency.
Next, we solve for the channel spacing in terms of wavelength and frequency.

Δx ∂λ Δxdn s n a
Δλ = =
L f ∂θ 0 L f mn g
λ = λ0

(12)

Δx ∂f Δxdcns na
Δf = =
L f ∂θ 0 L f mn g λ2
λ = λ0

(13)
We now calculate the free spectral range (FSR). The FSR is the determining factor in the allowed number of channels.
As shown in [2], the free spectral range can be solved by using Eq. (2) for the order m+1 channel. Thus, for:
FSR = N Δf [Hz]
(14)
where N is the number of channels, we have:

(ns + Δns )d sin θ i + (nc + Δnc )ΔL + (ns + Δns )d sin θ o = (m + 1) c


f + FSR
(15)
Next, we find that:

∂nc c ∂n
Δnc = FSR = − 2 c FSR
∂f f ∂λ
(16a)

∂n s c ∂n
Δn s = FSR = − 2 s FSR
∂f f ∂λ
(16b)
2
Finally, solving for Eq. (15) using Eq.’s (16a), (16b), (2), the assumption that f(f+FSR) = f , and
∂n s
n g ≈ ns − λ for ΔL >> d (sin θ i + sin θ o )
∂λ
(17)
we get the relation

FSR =
c
[HZ ]
n g (ΔL + d sin θ i + d sin θ o )

BeamPROP AWG Utility v2.1 Chapter 2: AWG Design • 9


(18)
For the diagonal ports where θI+θo=0

FSR =
c
[HZ ]
n g ΔL
(19)
Using (10) and solving for the FSR in terms of wavelength,

λ na
FSR = [m]
m ng
(20)

2.B. Star Coupler Design


The lens element that constitutes the body of the input star coupler is constructed from the geometry shown in Fig. 3.
The design is essentially identical for the output star, except that the light will be incident on the arc swept by Ro rather
than by Ri.

Figure 3: Rowland Circle Geometry of the Star- The body of the star coupler is formed between ARC Line BC, ARC CD, and line
Zlensis between the center of the outer Rowland Circle and the center (reference point) of the part of the coupler body. Lsep is
between the centers of the inner and outer circles.

Figure 2 of the previous section shows the design of one of the star couplers. The tapered waveguides of this structure
which connect to the arrayed waveguides allow low loss coupling to take place.

10 • Chapter 2: AWG Design BeamPROP AWG Utility v2.1


2.C. Array Design
The essential part of the array design is that the path length difference between each successive guide as per Eq. (1), is
followed. In order to accomplish this, some sort of geometric layout must be introduced so that the arrays can physically
align with the star output coupler. Some of these designs are shown in Fig. 4. The BeamPROP AWG utility generates
the design shown in (b), as well as an additional design similar to (b) except that the arc is cut in the middle and a
straight segment is introduced.

Figure 4: Examples of Layout Methods for Array Waveguides

BeamPROP AWG Utility v2.1 Chapter 2: AWG Design • 11


Chapter 3: The BeamPROP AWG
Design Utility

This chapter discusses the BeamPROP AWG Design Utility. The utility is broken up into two parts: The WDM Router
Layout Utility and the WDM Router Simulation Utility. The Router Layout Utility designs the input and output star
couplers for the simulation. It also designs two comprehensive layouts for mask exporting purposes only. The Router
Simulation Utility actually sets up the simulation of the AWG including the two star couplers by creating a series of
script files to run the simulations. First, the input star coupler is simulated by BPM. Next, a program called PHASECOR
simulates the phase differences that each array arm induces. Finally, the output star coupler is simulated by BPM with
the inputs from each of the arrays. A data file and a plot file are then created to show the wavelength response of the
AWG.
This chapter will go through all of the steps and functions of each of these parts of the BeamPROP AWG design process.
Other issues such as making your own changes to the files, 3D simulations, and additional modifications will also be
discussed.

3.A. Getting Started


After installing BeamPROP, you will find the following files:
In the directory C:\RSoft\bin:
FIELDGEN.EXE program to generate an input field from a mode list
PHASECOR.EXE program to correct a mode list file for the array section
TAILMON.EXE program to extract final line from monitor file
STARGEN.EXE program to generate a CAD file for a star coupler

In the directory C:\RSoft\products\beamprop\router:


AWG.pdf this document
Router.doc old AWG documentation
ANrouterSup.doc old supplementary documentation
ROUTER.DAT example results for an AWG WDM router
ROUTER.PCS RPlot command file to graph the above
STARGEN.C source code for STARGEN
TAILMON.C source code for TAILMON

BeamPROP AWG Utility v2.1 Chapter 3: The BeamPROP AWG Design Utility • 13
SCRIPGEN.C source code for SCRIPGEN

These documents and executables are the ones that are used to create and simulate an AWG device using BeamPROP.

3.B. Design Procedure


The following outlines the design and simulation procedure:
1. Generate CAD files for the input and output star couplers as well as the full layout via Utility/WDM-
Router-Layout. The utility STARGEN is provided for this purpose. Modify CAD files as appropriate to set
waveguide and simulation parameters.
2. Generate script files for the simulation via Utility/WDM-Router-Simulation. The corresponding utility is
SCRIPGEN.
3. Execute the <meta-prefix>scan#.scr script file for each distinct input port # to perform a wavelength
scan (via Run/Run-Script).
4. At each wavelength, simulate the input star coupler first, which will generate a "mode list" at the output.
5. Run starout.scr which will process the mode list based on the waveguide grating, generate an input to
starout.ind, and run starout.ind to determine the output at a specified wavelength.
6. Transmissions at each output port are collected in the <meta-prefix>scan#.dat file and at the end of
scan, a WinPLOT file is generated to show the wavelength spectrum of the AWG router.
Each step is described in detail in subsequent sections.

3.C. Using the WDM Router Layout Utility


This section outlines the usage of the WDM Router Layout Utility.

3.C.1. Using the Menu Options


The WDM Router Layout Utility can be opened by selecting Utility/WDM Router Layout… from the top menu of the
CAD window. When this is selected, the window in Fig. 5 will come up. This window allows the user to create the
layout of the AWG device. The design of each of the star couplers based on these parameters will be presented in
Chapter 3.C.3.

14 • Chapter 3: The BeamPROP AWG Design Utility BeamPROP AWG Utility v2.1
Figure 5: WDM Router Layout Window

# Input Ports
This box defines the total number of input ports into the device.

# Output Ports
This box defines the total number of output waveguides coming out of the device.

# Wavelength Channels
This box sets the number of channels the user wants to base the design of the AWG on.

# Arrayed Waveguides
This is the number of arrays that the device will have.

Center Wavelength (um)


This box sets the center wavelength that the design of the AWG is based on.

Channel Spacing (um)


This box sets the channel spacing that the design of the AWG is based on.

Allow User Tapers


Most star coupler designs utilize tapers at the ends of the input waveguides and at the beginning of the output
waveguides for each star coupler. These waveguides are connected to the free space region. The Allow User Tapers
box creates star couplers that make it easier to use tapers other than linear and define these tapers in terms of an algebraic
equation or data file. The idea is that tapers at similar positions will be defined in terms of a common User Taper which
allows the user to change them together easily. By default, if this box is not checked, the tapers will be linear. This will
be further discussed in Chapter 3.F.3.

BeamPROP AWG Utility v2.1 Chapter 3: The BeamPROP AWG Design Utility • 15
Allow 3D Simulation
The basic AWG simulation is done in 2D, however some users may want to utilize BeamPROP’s 3D capabilities when
simulating the router. The Allow 3D Simulation makes it easier to set up this 3D simulation. This will be further talked
about in Chapter 3.F.6.

Use Seg-Axis Feature


Sometimes is easier to modify the AWG layouts by utilizing the CAD’s local polygon feature. By checking the Use
Seg-Axis Feature, it will ensure that connecting local polygons will create the complete AWG layouts. This eases some
the restriction found in the normal segment mode.
After entering a prefix into the Layout File Meta Prefix box and selecting OK, CAD files for the input star coupler,
output star coupler, and full router layout are generated based on the meta prefix as follows:
<meta-prefix>in.ind input star coupler
<meta- prefix>out.ind output star coupler

<meta- prefix>full.ind full layout with "round" array turn; see Section 3.C.4
<meta- prefix>flat.ind full layout with "flat" array turn; see Section 3.C.4
These files can then be opened from within the CAD via the File/Open... menu item or corresponding icon. Parameters
such as waveguide width, refractive indices, etc. should be changed in these files to match the parameters for your
waveguide process. The input star coupler should be simulated as usual, and simulation parameters set as appropriate.
These parameters should be set to be the same in both the input and output star coupler before performing the simulation.
For self-consistency purposes and for most basic AWG design, most design parameters in the input and output star
couplers should be identical. In other words, by default, the two star couplers should be symmetric (except for the
number of input and output ports). As it is now, the AWG Utility allows a certain degree of asymmetry as long as the
output end of the input star coupler has the same waveguide geometry including ending width, position, and absolute
angle as that of the input end of the output star coupler.
In principle, arbitrary AWG asymmetric design can be simulated by BeamPROP while it may be not be simulated
directly by the current version of the AWG Utility. For this situation, please consult RSoft directly for your design
needs.

3.C.2. The Input and Output Star Coupler Designs


Using either the WDM Router Layout Utility or STARGEN directly, you should have designed the input and output star
couplers of the AWG system. The layout of the star couplers is shown in Fig. 6.

16 • Chapter 3: The BeamPROP AWG Design Utility BeamPROP AWG Utility v2.1
Figure 6: Input and Output Star Coupler Design Created by STARGEN – Wim and Wom are perpendicular to z. The waveguides
extend into the coupler body to insure overlap (so no gaps are in mask). An (inactive) refernce waveguide begins at (0,0) and has a
length equal to the variable Lsep. It is Segment #2 be default.

In order to create these designs, we will need to put many of these parameters into the symbol table of the design files.
Here are some of the symbols in terms of previous variables as found in Chapter 2 for reference:
Lambda λ
Ro Lf
Nslab ns
GratingOrder m
Do d
Di/Ro Ao (Δθ)
Dlambda Δλ
Lambda0 λ0
chan N
Di Δx

BeamPROP AWG Utility v2.1 Chapter 3: The BeamPROP AWG Design Utility • 17
In order to design the star couplers, the parameters are set based on equation (8).

∂θ o mn g
=
∂λ dns na
(8)
However, currently the utility assumes that ng = na so that:

∂θ o m
=
∂λ dn s
(21)
Using the fact that:
Δx
θ=
Lf
(3),(4)
The radius of the outer Rowland Circle can then be solved for.
Ro = (Nslab/GratingOrder) * ((Di*Do)/Dlambda)
(22)
Next, since the group index is set so that ng = na, according to Eq. (20):
FSR = Lambda / m
(23)
Since the FSR in terms of wavelength from eq. (14) is also equal to:
FSR = N * DLamda [m]
(24)
The grating order can now be solved in terms of the other design parameters Eq. (23) and (24):
GratingOrder = Lambda0/(Nchan*DLamda)
(25)
Thus, the central design parameters have been solved for. All of these parameters can be found in the symbol table of
the design created by the layout utility. These parameters can be changed to alter the design of your structures and
simulations.
A complete list of the symbols found in the *.ind files can be found in Appendix B.
In order to change the design of either the input and output star coupler, first open the desired file. Then make the
desired changes and then save the file. Remember that changes made in the input star file will not be automatically made
in the output star design file. If you wish to keep the coupler symmetric with each other, you must change both the input
and output star couplers and save them. Using the Import Symbols feature (under the Options menu in the CAD), you
can import the symbols from one star coupler to another. Thus, the user can make changes to one star coupler, and then
easily implement all the changes in the other.
Finally, BeamPROP currently requires that the field that is outputted from the input star coupler is able to be inputted
into the output star coupler. Thus, you must make sure that the arms for the respective waveguides that lead to the arrays
line up with each other.

18 • Chapter 3: The BeamPROP AWG Design Utility BeamPROP AWG Utility v2.1
3.C.3. Freely and Non-Freely Changeable Parameters
The CAD files generated in the above process contain many variables to define the geometry. Some of these variables
are freely selectable, while others are determined via formulas to ensure self-consistency of the design. Here we
document the key design variables that are freely selectable. We also document several variables that are not freely
selectable for reference. Finally, some variables fall in a gray area. Theoretically they are given by a formula, however
they can be tweaked to alter the design without destroying the self-consistency of the CAD layout. Unless explicitly
noted, variables in the CAD layout should not be changed.
First, the normal waveguide parameters (index and dimensions) should of course be considered design variables and are
freely selectable.

Freely Changeable Parameters


The freely selectable router specific variables used in the star couplers are given below:
Di waveguide separation at input circle
Do waveguide separation at output circle
Wit waveguide width at input circle (defined to be 2*width)
Wot waveguide width at output circle (defined to be Do)
Lit length of input taper
Lot length of output taper
Li length of input waveguides (defined to be 2*Lit)
Lo length of output waveguides (defined to be 2*Lot)
Dz displacement of foci from standard Rowland construction
The most significant design variables are Di, Do, and Wit. The input and output waveguide separations, Di and Do, are
free to choose, but the tradeoff is that the smaller they are the more coupling between the input/output guides, and the
larger they are the longer the star region has to be. Another important variable to consider is Wit, which controls the
width of the input waveguide at the entrance to the star. The mode profile at this position will determine the spectral
response of an individual channel. The waveguide width at the exit of the star, Wot, is set equal to the waveguide
separation, Do, for maximum transmission efficiency.
The following freely selectable variables are used to define the filter characteristics:
Lambda0 the center wavelength
DLambda the channel spacing
Nchan the number of wavelength channels
In order to separate the design parameters from the actual parameters used in the simulation, the following variables can
be changed by the user to examine variations in device performance due to variations in actual parameters.
Design_background_index "design" background index
Design_delta "design" index difference
Design_width "design" waveguide width
Design_pol "design" polarization
By default these variables are set equal to the corresponding standard waveguide parameters used in the simulation.
However, these may be used to specify the parameters for which the router was designed, and the simulation can be done
at a different set of parameters. For example, the router may be designed to operate for TE polarization, and use of
appropriate effective indices for both the "design" values (e.g. Design_background_index and Design_delta) and
the "simulation" values (e.g. background_index and delta) would generate the TE performance. However, setting
the "design" values to those for TE, and the "simulation" values to those for TM would enable one to simulate the TM
performance of a device designed for TE. Note that the key effect of the "design" parameters is to influence the

BeamPROP AWG Utility v2.1 Chapter 3: The BeamPROP AWG Design Utility • 19
definition of Nguide and Nslab, which, in turn, and along with the desired filter characteristics, determine key
geometric parameters of the star coupler design such as Ro (see below).

Non-Freely Changeable Parameters


The following variables are not freely selectable, since they are derived from other variables. However we document
them here for reference.
Ri radius of inner Rowland circle (defined to be Ro/2)
Ro radius of outer Rowland circle (length of star region)
Wstar width of star region (defined to be (M+4)*Do)
Nslab the index of the free space region (at design)
Nguide the effective index of the waveguide (at design)
The Ri and Ro variables actually fall in the gray category noted above. They can be tweaked to alter performance, and
changing them will not destroy the self-consistency of the geometry.
Another variable which is part of the router design, but not directly part of the star coupler design, is DL, the path length
difference between the grating arms, which determines m, the grating order (in the CAD file m is replaced by the
variable name GratingOrder). The following equation determines DL in terms of m:
DL = (m*Lambda0)/Nguide
Here, Lambda0 it the center wavelength, and Nguide is the effective index of the waveguide arms. The channel
spacing, DLambda is determined from the following:
DLambda = (Nslab/m)*(Di*Do)/Ro
Here, Nslab is the effective index of the slab, which is approximately the waveguide core index. Finally, the free
spectral range, FSR, which determines the allowed number of channels, is given by:
FSR = Lambda0/m
From a design perspective, it is useful to combine and invert the last two equations to determine the required grating
order and star coupler length to achieve a given channel spacing and number of channels, Nchan. The result is as
follows:
m = Lambda0/(Nchan*DLambda)
Ro = (Nslab/m)*((Di*Do)/DLambda)
The above two equations are the central design equations. The variable DLambda is defined in the CAD file and is used
to set the above. Note that the above formulas are an approximation, albeit fairly good one. The reference is Takahashi
et al., Journal of Lightwave Technology, Vol. 13, No. 3, p. 447. The design parameters in the example correspond
approximately to a published NTT AWG device capable of supporting 16 channels with a 1.6 nm channel spacing (200
GHz channels). Only the central 8 channels are used to obtain increased output uniformity. The reference is Okamoto et
al., Photonics Technology Letters, Vol. 8, No. 3, p. 373.

3.C.4. Layout Geometry


As mentioned before, the Design Utility also lays out the entire design for mask purposes using two different designs for
the array bends. The utility makes two designs, the full and flat layouts. These files can be found in the
<prefix>full.ind and <prefix>flat.ind file.
The following variables are important with respect to the full router layout:
A central angle of star couplers with respect to z axis
Rin/Rout radius of input/output waveguide bends
Rz minimum radius of arrayed waveguide bends

20 • Chapter 3: The BeamPROP AWG Design Utility BeamPROP AWG Utility v2.1
Lg length along z of arrayed waveguide structure
Lextra additional length added to Lg
Lin/Lout straight length of input/output waveguides
Sin/Sout lateral separation if input/output waveguides
In the current version, for some parameters the CAD layout can sometimes have a discontinuity between the star
couplers and the arrayed waveguides. In this case, it is helpful to add some length to the design (e.g. a few 1000 um).
For example, you can do this by changing the variable Lextra (default = 0 um) or you could also do this by increasing
Rz.
These layouts are shown schematically, in Fig. 7. Note that Li, Sin, Rin, Lin have corresponding output parameters Lo,
Sout, Rout, Lout that may be specified independently.

Figure 7: Layouts for Arrayed Waveguides

Figures 8 & 9 below are of the input star coupler and the bottom half of the array; only the first and the ith WG’s in the
array are shown for clarity. Also, the variable definitions are spread between the figures. The key function of the WG
array is to progressively increase the path length of each WG by dL from the previous WG. The first WG has a radius of
Rz (=zR1) and an initial angle of A0 (=zAa1). Each subsequent WG (M of them), has a radius zRi and an initial angle
zAai, where i denotes the ith WG in the array. The path length difference between WG(i) and WG(1) is,
zLi + (zAai*zRi) - (A0*Rz) = (i-1)*dL/2
(1)
where the 2 is because we are dealing with just the bottom half of the array. This is enforced in the layout by noting that
the distance from Z=0 to the half-way point of the array must be the same for all the WG’s in the array. This is reflected
in the following equation,
zRi*sin(zAai) + (Rend + zLi)*cos(zAai) = Rz*sin(A0) + Rend*cos(A0)
(2)

BeamPROP AWG Utility v2.1 Chapter 3: The BeamPROP AWG Design Utility • 21
where Rend = Ro + Lo. Since Rz is a design variable and A0 is based on the design variables Do and M, and also on Ro,
which is calculated from design variables, the right-hand side of Eq. (2) is known. From Eq.’s (1) and (2), expressions
can be generated for zLi and zRi.
Some algebraic manipulation is needed to get the final forms of these expressions that are used in the router layouts
generated. The following intermediate variables are used to facilitate these manipulations.
C = dL/(2*Ao)
where Ao (NOT A0) is the angle, in radians, subtended by the waveguide separation, Do. Also, note that
(i-1)*dL/2 = C*(zAai – A0)
(3)
where the angles are in radians. The parameter, P, is used to convert between degrees and radians. Equations (1)-(3),
plus the intermediate parameters, B, CC, and Lg, should be sufficient to reproduce the expressions generated by
BeamPROP. The parameter, Lextra, added separation between the couplers, is incorporated via Lg. Lextra has been
taken as 0 in Equations (1)-(3) but can be easily added back in by adding Lextra/cos(zAai) to the path length of
WG(i). The #’s in Fig. 9, indicate segment # (associated with the first WG in the array) in the layout.

22 • Chapter 3: The BeamPROP AWG Design Utility BeamPROP AWG Utility v2.1
Figure 8: Array Design for Full Layout

BeamPROP AWG Utility v2.1 Chapter 3: The BeamPROP AWG Design Utility • 23
Figure 9: Array Design for Full Layout

3.D. Using the WDM Router Simulation Utility


This section outlines the use of the WDM Router Simulation Utility.

3.D.1. Overview of Simulation Procedure


Once the design files have been created, the designs can be simulated. This is done in several steps. First the simulation
scripts need to be created. The scripts run the following automated tasks:
1. The Input Star Coupler is simulated and a mode list file is outputted
2. The mode list file is modified due to the arrays by PHASECOR.
3. The new mode list file is converted to a field file by FIELDGEN.
4. The new field file is launched into the output star coupler.

24 • Chapter 3: The BeamPROP AWG Design Utility BeamPROP AWG Utility v2.1
5. The output star coupler is simulated.
6. The last line of the monitor file is extracted by TAILMON.
7. This piece of data is appended onto a data file.
WinPLOT is called at the end of a wavelength scan and the data file is plotted and displayed.

3.D.2. Using the Menu Options


The WDM Router Simulation Utility can be accessed by going to the CAD menu and selecting Utility/WDM Router
Simulation… When this is selected, the window shown in Fig. 10 will come up.

Figure 10: Window For Selecting CAD File Input Star

This window is for the user to select which AWG system is to be simulated. The user should select the CAD file for the
input star coupler generated using the WDM Layout Utility (i.e. <prefix>in.ind).
Once this file is selected and the OK button is pressed, the window in Fig. 11 comes up.

BeamPROP AWG Utility v2.1 Chapter 3: The BeamPROP AWG Design Utility • 25
Figure 11: The WDM Router Script File Generator Window

This window gathers the information that is used to generate the simulation scripts required to run the design file
simulations at the set parameters.
The previously chosen layout parameters will be visible, but grayed out; they are provided here for reference only. The
other options are as follows:

Simulate Both Stars


In practice, the propagation through the star couplers can be fairly insensitive to wavelength within the range of
operation. Leaving this option unchecked tells the utility to only simulate the input star at the center wavelength. If this
box is checked, both star couplers are re-simulated at each wavelength in the scan. See Chapter 3.F.4 for more
information on this.

Phase Error
This field allows the user to include the effect of random phase errors as would be generated by imperfections in the
fabrication process. Each waveguides phase is changed by a random number uniformly distributed from 0 to the phase
error entered in this field.

Design Info File


The ability to specify additional design information in the WDM router simulations. This information includes the
following:
• extra power correction per arm (Transmission, as power fraction)
• extra phase change per arm (Phi, in degrees)
• extra path length difference per arm (dL, in um)
Note that this additional information does not replace, but adds to what BeamPROP would normally compute internally
for each of these parameters to match the usual design goals and/or impairments.
Defining a data file with the additional information, and specifying this data file in the WDM Router Simulation dialog
activates this feature. The format of this data file is found in Appendix C.

26 • Chapter 3: The BeamPROP AWG Design Utility BeamPROP AWG Utility v2.1
# Points per Channel
Starting ChannelEnding Channel
These parameters control the sweep over wavelength. They are essentially, the starting wavelength, ending wavelength,
and number of wavelength points.

Script File Meta Prefix


The user must enter a prefix for the script files. It may be the same or different from the layout prefix.
When the above options are selected and the OK button is pressed, the following files will be generated in the working
path if the Simulate Both Stars box is not checked:
<prefix2>out<number>.sc script for a single wavelength point
r
<prefix2> script for wavelength sweep
scan<number>.scr
<prefix2>scan<number>.p plotting script for the resulting data
cs
The number that terminates the file name prefix is an index for the input port. Symmetric waveguides will not have the
scripts created for them twice. Thus, if there are 5 input ports, 3 script files will be generated. See Section 3.F.4 if both
star couplers are to be simulated.

3.D.3. The Scan Script Files


This section and the following sections in this chapter describe the operation of the scripts that are generated in this
design process. It is not necessary to go through this material to use the package, however it will provide a deeper
understanding of the process.
First, the <prefix2>scan<number>.scr script files are going to be discussed. These files set up the process to scan
the design files over the desired wavelengths. To automate the generation of a wavelength scanning script file, we have
included the SCRIPGEN utility. To understand how to use this utility, please look at Appendix A.
What is first being done is that a script file is generated which invokes <prefix>out<number>.scr for each desired
wavelength, and the results will be stored in the file scan.dat. This will be discussed in Chapter 3.C.3.
Below is an example that was created using the Script File Generator.

* testin prefix=port2 launch_pathway=2


del testscan2.dat
@testout2.scr 1.5436
@testout2.scr 1.5438
@testout2.scr 1.544
@testout2.scr 1.5442
@testout2.scr 1.5444
@testout2.scr 1.5446
@testout2.scr 1.5448
WinPLOT /v @testscan2.pcs &
In the first line of this script file, there is an asterisk (*). This asterisk calls the executable that this script is being called
from. In this case, it will be bsimw32 or the BeamPROP simulation program. Next, it is calling testin.ind to
simulate. The prefix sets the output file prefix that will be created. Finally, the launch pathway number is what input
port it will be launched into.
The second line deletes a file called testscan2.dat. Note that since this script file will append its data to scan.dat,
you must delete or rename this file before each scan.

BeamPROP AWG Utility v2.1 Chapter 3: The BeamPROP AWG Design Utility • 27
The rest of the lines except for the last one call the associated <prefix2>out<number>.scr file. Then, it takes a
number, in each case the wavelength, and passes it to the <prefix2>out<number>.scr script.
The last line calls that plotting script that will be used to create the WinPLOT chart.

3.D.4. The Out Script Files


After setting up the input/output star couplers and then running the scan script file, the next step is to talk about the
<prefix2>out<number>.scr file, also called an “Out” script file.
When the scan script file is run, the input star coupler is simulated. Then, a mode list file called port<number>.mls is
created. For the format of a mode list file, please turn to Appendix C. Next, the out script file is called.
An example of an out script is shown below.
phasecor -l$1 -c1.55 -o121 -n1.451293777 -s0 <port2.mls >input.mls
fieldgen <input.mls >input.fld
* testout prefix=temp slice_display_mode=0 lambda=$1 scan_variable=lambda
tailmon -v$1 <temp.mon >>testscan2.dat
This script is invoked from the command line as in the following example:
bsimw32 @scanout.scr 1.546
The value 1.546 represents the "test" wavelength at which the simulation will occur.
The first line of the script runs the utility PHASECOR, which takes the mode list from the file port2.mls, and generates a
"phase corrected" mode list in the file input.mls. Appendix A has the format for how to use PHASECOR however
several of the command line options are as follows:
-l specifies the "test" wavelength
-c specifies the "center" wavelength
-o specifies the grating order
-s specifies a random phase error due to fabrication errors
Note that the -l option in the first line of the script file does not specify an explicit value, but instead specifies $1 as the
value of the test wavelength. As illustrated above, script files may be invoked with arguments, and $1 represents the
first argument. Thus, in this case, the $1 is the number 1.546 that was passed to it from the scan script.
Finally we note the significance of the random phase error. A well designed router can have very low sidelobes and
crosstalk, and in practice, what frequently limits crosstalk performance are the random phase errors associated with
errors in the grating arm length due to fabrication tolerances.
So, we now note that the first line takes the mode list file that is created from the input star coupler, and then appends the
phase changes due to the array arms to it. This new file is called input.mls.
The next line in the script runs the FIELDGEN utility to take the corrected mode list and generate a standard BeamPROP
input field file called input.fld, as expected by <prefix2>out<number>.ind. For more on how FIELDGEN works,
please see Appendix A.
The third line in the script, beginning with "*", runs bsimw32 and simulates starout.ind, setting the prefix=temp
and disabling graphics for speed. Assuming monitors have been defined, the result of the above will be to generate a file
called temp.mon, the last line of which contains the powers in each of the output arms.
The final line in the script file runs the TAILMON utility to extract the final line in the monitor file and append it to the file
scan.dat. The -v option replaces the first value in this line (which would be the final Z position of the output star)
with the value $1, which is the test wavelength. The result of multiple invocations of test.scr will result in a
<prefix2>scan<number>.dat file containing the output power of each arm as a function of wavelength. Please see
Appendix A for more information on TAILMON.

28 • Chapter 3: The BeamPROP AWG Design Utility BeamPROP AWG Utility v2.1
3.D.5. The Plot Script Files
The last line in the scan script files reads:
WinPLOT /v @testscan2.pcs &
This calls the plotting program, WinPLOT.exe. and then executes it according to the parameters as defined by the
<prefix>scan<number>.pcs file. An example of one of these files is shown below. Please refer to the WinPLOT
manual for more information as to what this file means.
/tt"$IBeamPROP$N Simulation of AWG WDM Router (Input Port \#2)"
/xl"Wavelength (nm)"
/yl"Transmission (dB)"
/l/lh"Output Port:"
/lts0.6
/ls1
/lcm9,10,12,11,13,1,2,4
/logy
/sy10
/sx1000
/w,,,0
testscan2.dat
/lt"\#1"
/lt"\#2"
/lt"\#3"
/lt"\#4"
/lt"\#5"
/lt"\#6"
/lt"\#7"
/lt”\#8”

3.E. Running The Simulation


This section outlines the steps to Run a WDM Router Simulation.

3.E.1. Running the Simulation using the Menu Options


In order to run from the menu options the simulation scripts that were created earlier, the user should select Run/Run
Script… from the menu options in the CAD menu. The following window should come up.

BeamPROP AWG Utility v2.1 Chapter 3: The BeamPROP AWG Design Utility • 29
Figure 12: Script File Menu in BeamPROP

Next, the user should either enter the file name and press OK or press the Files… button. In either case, the user should
select the scan script file for the desired input port.

Figure 13: Selecting the Script File to Run from Within BeamPROP

Next, the user must press the OK button to run the script and thus the simulation of the AWG router.

3.E.2. Running the Simulation from the Command Line


The script files can also be run from the command line directly. The important issue is that the executables need to be
called in order to simulate this device.
For example, if the example in Chapter C.3.3 is used and the file is to be run from the MS-DOS window directly (and
not within BeamPROP), the simulation can be run from the command line as follows:
bsimw32 testin prefix=port2 launch_pathway=2
del testscan2.dat

30 • Chapter 3: The BeamPROP AWG Design Utility BeamPROP AWG Utility v2.1
bsimw32 @testout2.scr 1.5436
bsimw32 @testout2.scr 1.5438
This will tell the program to run the executable bsimw32 and the following characteristics. It will then run the other
scripts as usual.

3.F. Additional Features and Issues


This section covers additional features and issues associated with the WDM Router Utility.

3.F.1. Batch File Modification


The batch or script files can be modified according to the users’ specific applications. The script files can be opened
with an text editor (Notepad, Wordpad, EMACS, etc.) and then edited. When they are saved and then run, they will run
with the modifications. The script files follow the batch file routines that are commonly run in MS-DOS and other
operating systems.

3.F.2. Multiple Variable Scanning


The scripts that were created using the general AWG Utility can be modified or created so that you can scan over a set of
different variables. Any variable that you wish to be changed via the symbol table and then scanned over can be
accomplished by modifying the scripts. In this case, just for example purposes, the scan will occur over the input
waveguide separation, Di.
To do this three files must be created: master.scr, subscan1.scr, and subout1.scr. This can be done with any
text editor. Master.scr will call subscan1.scr which will call subout1.scr. In a sense, this will create a nested
loop to scan over these several variables.
@subscan1.scr 10 scan_10.dat
@subscan1.scr 20 scan_20.dat
@subscan1.scr 40 scan_40.dat
WinPLOT scan_10.dat scan_20.dat scan_40.dat &
Figure 14: Contents of Master.scr

The first three lines refer to the script, subscan1.scr. For example, the first line calls subscan1.scr and two
variables: 10 and scan_10.dat. These variable will be talked about and dealt with when we talk about the next script.
All we have to know now, is that they are passed on as variables. The final line in this takes the resulting files,
scan_10.dat, scan_20.dat, and scan_40.dat, and calls the program WinPLOT. Thus, WinPLOT will use these
data files and make the appropriate plots.
Next, these are the contents subscan1.scr:
* testin prefix=port1 launch_pathway=1 Di=$1
del $2
@subout1.scr 1.5484 $1 $2
@subout1.scr 1.5486 $1 $2
@subout1.scr 1.5488 $1 $2
@subout1.scr 1.549 $1 $2
@subout1.scr 1.5492 $1 $2
@subout1.scr 1.5494 $1 $2
@subout1.scr 1.5496 $1 $2
@subout1.scr 1.5498 $1 $2
@subout1.scr 1.55 $1 $2

BeamPROP AWG Utility v2.1 Chapter 3: The BeamPROP AWG Design Utility • 31
Figure 15: Contents of Subscan1.scr

This is the script that is called by master.scr. Let us first talk about the first line. The * means that the program that
is running it will take in the file. Remember that these script files are called within the CAD. Hence, as part of the
scripting language, this * refers to the BeamPROP simulation executable. Next, the prefix refers to what the name of
the file is going to be saved as after the first start coupler. Thus, port1.mls is going to be a data file created as a result.
The launch_pathway is input waveguide that is being simulated as a result of this. Finally, the variable Di, the
separation width, is being set to $1. Di has already been predefined in the drawings. The $1 is the first variable that is
sent in by the script that calls Subscan1.scr. So, for example, if the line “@subscan1.scr 10 scan_10.dat“ is
called, $1 is equal to 10 and $2 is scan_10.dat. Finally, the next line deletes the previous file because otherwise, any
old versions of the data files would be appended to and not overwritten. So, in this part, the separation width, Di, is set.
In the next part, subout1.scr is called and three variables are passed on. In the case of “@subscan1.scr 10
scan_10.dat”, you would find in subout1.scr that $1=1.5484 (or other wavelengths), $2 =10, and
$3=scan_10.dat. So, here is where all the wavelengths are set. If the user wants to add more wavelengths to be
scanned over, or remove some as well, here is where the wavelengths are defined.
Now, let us take a look at the next script:
phasecor -l$1 -c1.55 -o121 -n1.451293777 -s0 <port1.mls >input.mls
fieldgen <input.mls >input.fld
* testout prefix=temp slice_display_mode=0 lambda=$1 scan_variable=lambda Di=$2
tailmon -v$1 <temp.mon >>$3
Figure 16: Contents of Subout1.scr

The first line in subout1.scr calls the program PHASECOR. The operation of this program is talked about earlier in this
document. Here, it takes port1.mls, which was generated earlier in this script, and outputs input.mls. Next, the
next line calls FIELDGEN, which is also talked about earlier in this document, and outputs input.fld. Just as a note, if
you wish to scan over the phase error, you would change the appropriate variables in the earlier scripts, and put the
variable with the phase in the –s switch after PHASECOR.
Anyway, the next file, calls the BeamPROP simulator again and simulates the output star coupler. Note that the last line
saves the file to $3, which in our case is the file name.
As a general overlook to this whole process, you can think of the scripts acting like nested loops in a software program:
Master: (Di=10, filename=scan_10.dat)
Subscan1: (Wavelength1, Di1, filename1)
Subout1: (output for wavelength1, Di1, filename1)
Subscan2: (Wavelength2,Di1, filename1)
Subout1: (output for Wavelength2,Di1, filename1)
:
:
:
Master: (Di=20, filename=scan_20.dat)
Subscan1: (Wavelength1, Di2, filename2)
Subout1: (output for wavelength1, Di2, filename2)
Subscan2: (Wavelength2,Di2, filename2)
Subout1: (output for Wavelength2,Di2, filename2)
:
:
:
Master: (Di=40, filename=scan_40.dat)

32 • Chapter 3: The BeamPROP AWG Design Utility BeamPROP AWG Utility v2.1
Subscan1: (Wavelength1, Di3, filename3)
Subout1: (output for wavelength1, Di3, filename3)
Subscan2: (Wavelength2,Di3, filename3)
Subout1: (output for Wavelength2,Di3, filename3)
:
:
:
WinPLOT (filename1, filename2, filename3)
Figure 17: Conceptual View of Scanning over Multiple Variables

After generating these scripts, you can run master.scr from within the CAD, or simply from the simulation command
in the DOS prompt.
It is suggested that the user first generate the set of scripts that are created when the AWG Utility is normally run from
the BeamPROP menu and take a look at those to gain familiarity with the process.

3.F.3. Generating User Tapers


By checking off the box on the WDM Router Layout Utility for the user tapers or by selecting the proper switches while
using STARGEN, one can easily enable the software to allow the user to design user defined tapers into the input and
output star coupler. This means that the tapers are defined in terms of the User Taper features that are incorporated in
the CAD. In the input star coupler, the input waveguide taper is set to “User 1” while the output user taper is set to
“User 2”. It is the reverse for the output star coupler. By default, the taper is set to be linear along the propagation
direction. However, one can enter in any algebraic expression or data file to define the taper(s). Please reference the
CAD manual for more information on User Tapers.

3.F.4. Performing the Simulation for Both Star Couplers


You may note that in the above procedures, the wavelength used in the simulation of the input star coupler is not varied;
only the wavelength in the waveguide grating and the output star coupler is changed. This is a reasonable procedure
since the performance of the star couplers is not highly wavelength dependent over the narrow wavelength range of the
router. This simplification allows the input star coupler to be simulated only once, resulting in a factor of two savings in
time compared to full inclusion of the wavelength effects. If the latter is desired, the file STARBOTH.SCR can be used in
place of STAROUT.SCR in the above discussion of performing a wavelength scan. Thus, if the Simulate Both Stars box
is checked, the following two script files are created:
<prefix2>out<number>.scr script for a single wavelength point
<prefix2> script for wavelength sweep for both star couplers
both<number>.scr
For reference, the <prefix2>both<number>.scr file looks like:
* starin prefix=port4 free_space_wavelength=$1 slice_display_mode=0
phasecor -l$1 -c1.55 -o59 -s10 <port4.mls >input.mls
fieldgen <input.mls >input.fld
* starout prefix=temp free_space_wavelength=$1 slice_display_mode=0
tailmon -v$1 <temp.mon >>scan.dat

3.F.5. Taking into Account Dispersion Characteristics


Since BeamPROP sweeps through the wavelength when it simulates a router, the waveguide dispersion is accounted for
in the simulation. The effects of not accounting for this dispersion when determining Ro may be compensated for by
running several test simulations. By specifying a slightly larger or smaller channel spacing than the design requires, the
final channel spacing, predicted by the simulation, can be tailored to the desired specification.

BeamPROP AWG Utility v2.1 Chapter 3: The BeamPROP AWG Design Utility • 33
3.F.6. Performing 3D Simulations
With BeamPROP 4.0, RSoft has extended the WDM router design package to function in 3D. By enabling 3D when
generating the CAD files, 3D simulation of the AWG is now possible. Before performing the simulation, however, the
user must calculate the mode corresponding to the desired 3D geometry, and store the results of that mode calculation
with the prefix 'mode'. The file mode.m00 is required by the CAD files that are generated. In addition, the variable
Nguide in the CAD files should be adjusted to the actual effective index resulting from the mode calculation (the
formula in the CAD files is only an approximation using the effective index method).
The default 3D index files create three new symbols. These symbols are Nguide, Nside, and Nslab. The formulas for
each of each are as follows:
Nside slabneff(Design_pol,0,Lambda0,N0,NC,N0+Design_delta,Design_slab_height)
Nslab slabneff(Design_pol,0,Lambda0,N0,NC,N0+Design_delta,Design_height)
Nguide slabneff(Design_pol,0,Lambda0,Nside,Nside,Nslab,Design_width)
Each uses the slabneff function which can be found in the appendices of the BeamPROP manual. The value of
Nguide is extracted when creating the script files and is used for the effective index of the arrayed waveguides when
PHASECOR is called. This should be very accurate for channel type waveguides. For other waveguides, it is suggested
that after creating the design files, the user inserts their own information into these three symbols based on modal
calculations that can be done with BeamPROP. Then the script files can be generated. In addition, for a 3D AWG
simulation, the wavelength dependence of the effective index is considered through a 2D approximation.

3.F.7. Adding Bend Loss and Coupling information


Currently, the simulation utility creates the incremental phase differences via a program, PHASECOR, that simply makes
the phase modifications directly to the output of the input star coupler. For bends with large radii, such as those that are
typically found in AWG Routers, this is typically a very accurate technique. In addition this is more efficient than
directly simulating the actual arrays. However, if the user does want to simulate the bending losses, coupling losses, and
the changes in the effective index due to the different bends and any other effects in the arrayed waveguide region,
BeamPROP can handle these simulations. The user needs to do separate BPM simulations or use any other analytical
approach to simulate those losses and effects. Then the data and needed information needs to be extracted and added to
the calculation done by PHASECOR.

34 • Chapter 3: The BeamPROP AWG Design Utility BeamPROP AWG Utility v2.1
Chapter 4: BeamPROP AWG
Tutorial

This tutorial describes a step by step procedure on how to use the AWG Router Utility provided with BeamPROP. This
utility is composed of two parts, one for laying out the router and the other for simulating it. Since AWG routers tend to
be large structures, the simulation process of these devices has been partitioned into three stages. The first stage is a
BPM simulation of the input star coupler at the center wavelength. The second, is a simulation of the effect of the WG
array via an external command line routine. The final stage is a BPM simulation of the output star. The simulation
portion of the utility generates a script that automates the execution of these stages over a range of wavelengths. Use of
the utility entails running WDM Router Layout… and then WDM Router Simulation…, both from the Utility Pull-down
Menu, and finally, launching the simulation script from the Run Pull-down Menu.

4.A. Getting Started


The RSoft CAD interface is quite versatile and allows complex geometry’s to be created and parameterized. For certain
useful complex structures, such as Arrayed Waveguide Routers, utilities have been provided to automate the layout
process. AWG Routers are used pervasively in systems that require Wavelength Division Multiplexing (WDM) and
Dense Wavelength Division Multiplexing (DWDM).
This tutorial creates an AWG corresponding to published design parameters for an NTT AWG device (Okamoto et al.,
Photonics Technology Letters, Vol. 8, No. 3, p. 373). The results of running a wavelength scan on these files are
provided in the file router.dat, and a graph is included in router.pcs.
Note that this tutorial has been written such that it can be executed independent of the rest of the material in this manual.
However, for further detail on the design process, it is recommended that the user read the entire manual.

4.B. The WDM Router Layout Utility


Begin by launching the CAD program from either the Window’s Start Menu program group or from the Desktop icon.
Go to Utility/WDM Router Layout…
The following dialog will appear:

BeamPROP AWG Utility v2.1 Chapter 4: BeamPROP AWG Tutorial • 35


Adjust the parameters in the dialog as desired; these will determine the topology of the device. Note that the # of
Wavelength Channels may differ from the # of Output Ports. It is a common design technique to specify more
wavelength channels than output ports and then use only the more centrally located channels at those output ports. This
leads to a flatter spectral response. Enter a Prefix that will be used to identify the resulting files, and click OK. The
following files will be generated
<meta-prefix>in.ind input star coupler
<meta-prefix>out.ind output star coupler
<meta-prefix>full.ind full layout with "round" array turn
<meta- prefix>flat.ind full layout with "flat" array turn
The star coupler files will be used by the simulation script, but the full layout files, although they are functioning CAD
files and should not be used for simulation, are typically just used for mask creation purposes.
For this example, the input and output star couplers are shown below.

36 • Chapter 4: BeamPROP AWG Tutorial BeamPROP AWG Utility v2.1


BeamPROP AWG Utility v2.1 Chapter 4: BeamPROP AWG Tutorial • 37
4.C. The WDM Router Simulation Utility
The next step is to generate the simulation scripts for the design. Go to Utility/WDM Router Simulation… The
following dialog will appear.

38 • Chapter 4: BeamPROP AWG Tutorial BeamPROP AWG Utility v2.1


Select an input star .ind file (input stars for various designs may exist; in our case we entered the meta prefix as test
as seen above). Click on Open, and the following dialog will appear:

You must enter a prefix for the script files. It may be the same or different from the layout prefix. We entered “test”
into our prefix box.
After selecting the above options, click OK. The following files will be generated:

BeamPROP AWG Utility v2.1 Chapter 4: BeamPROP AWG Tutorial • 39


testout1.scr script for a single wavelength point
testscan1.scr script for wavelength sweep
testscan1.pcs plotting script for the resulting data
The number that terminates the file name prefix is an index for the input port. In this case, only one set of scripts will be
generated, as only one input port exists. After the simulation, a file testscan1.dat, that contains the spectral data for
each channel, will exist as well, and it can be plotted by double-clicking on testscan1.pcs.

4.D. Getting Your Results


The simulation is then run by simply launching testscan1.scr by going to Run/Run Script… from the pull-down
menus, and entering the file name of the simulation script in the dialog shown below. The file name may also be entered
by via Files… button.

After clicking OK in the above dialog, the series of simulations begins. When complete, the result is the following
spectrum:

40 • Chapter 4: BeamPROP AWG Tutorial BeamPROP AWG Utility v2.1


BeamPROP AWG Utility v2.1 Chapter 4: BeamPROP AWG Tutorial • 41
Appendix A: Executables and
Associated Options

This Appendix outlines the executables and associated options of the AWG Utility.

A.1. STARGEN
While the menu option to create the layouts is very useful, it in fact utilizes an executable that some users may wish to
use. The program STARGEN is included with the BeamPROP software and is used to generate the CAD files used in the
simulations. Also included in the directory is stargen.c which is the source code for STARGEN.
The STARGEN utility is used to generate a CAD file for the input and output star couplers, as well as the two full router
layouts. This executable can be used from a MS-DOS prompt or the run line in MS Windows.
The format to use the executable is:
stargen <options> indfile
The options for STARGEN are as follows:
-m number of array arms
-n number of input/output arms
-no number of output arms for full layout
-nc number of channels
-c center wavelength
-d channel spacing (um)
-wi input waveguide taper type
-wo output waveguide taper type
-o create output star coupler
-f# creates entire router layout (0=full, 1=flat)
-3 creates files for 3D simulation
For example, to generate an input star coupler with 8 input waveguides and 80 output waveguides, type the following at
a command prompt:
stargen -n8 -m80 starin.ind
Similarly, to generate the output coupler use the following command:
stargen -n8 -m80 -o starout.ind

BeamPROP AWG Utility v2.1 Appendix A: Executables and Associated Options • 43


The -o option causes STARGEN to flip the circuit vertically, as well as define monitors which will be required for analysis
of the router output. Finally, the full router is generated with the command:
stargen -n8 -m80 -f starfull.ind
The flat router is generated with the command:
stargen -n8 -m80 –f1 starflat.ind

A.2. TAILMON
This is the executable used to extract the final line from a monitor file.
The format to use TAILMON is:
tailmon <options> <input-file >output-file
The options for TAILMON are as follows:
-v# replace the value in the first column with #

A.3. PHASECOR
This is the executable used to update a mode list file accounting for the induced phase changes by the array.

Since the simulation of the first star coupler in BeamPROP ends at a constant Z position, the phase in the mode list file is
not calculated at the same distance from the coupler for each waveguide in the array. To correct this, the PHASECOR
utility automatically adjusts the phase so that it equals the phase at the start of each waveguide of the array. For a
particular output array waveguide with x coordinate X1 and angle A, an extra length correction, in addition to the phase
change from the constant path length difference DL, is used: deltaL=X1*(1-cos(A))/sin(A).

The format to use PHASECOR is:


phasecor <options> inmodelist outmodelist
The options for PHASECOR are as follows:
-l current wavelength
-c center wavelength
-o grating order
-n design effective index
-d design delta length (alternate to –o and –n)
-s phase error (degrees)
-a file name for additional design info

A.4. FIELDGEN.exe
This is the executable used to create an input field from a mode list.
The format to use FIELDGEN is:
fieldgen <modelistfile> fieldfile

A.5. SCRIPGEN
This is the executable used to create the script files for a wavelength scan.

44 • Appendix A: Executables and Associated Options BeamPROP AWG Utility v2.1


The format to use SCRIPGEN is:
scripgen v1 v2 dv command >scriptfile
For example, if you entered:
scripgen 1.544 1.558 0.0001 "@starout.scr" >scan.scr
The above will generate a script file called scan.scr, which looks like:
@starout.scr 1.544
@starout.scr 1.5441
...
@starout.scr 1.5579
@starout.scr 1.558

BeamPROP AWG Utility v2.1 Appendix A: Executables and Associated Options • 45


Appendix B: Symbols Found in
the Design Files

This Appendix outlines the Symbols which can be found in the AWG Design Files created by the AWG Utility.

Symbols Found in the Design Files


Most of the parameters appearing in the example Symbol Table below, are intermediate variables that are used in
defining the geometry of the layout, and should not be edited. They are adjusted automatically when the design
parameters are changed.
Paramter Expression Description
A 45 Central angle of star coupler with respects to z axis
A0 zAa1 design/internal param (angle of innermost WG in the array)
Ai (Di/Ri)*(180/Pi) Internal (angle subtended by Di)
Ao (Do/Ro)*(180/Pi) internal (angle subtended by Do)
Asa (M+1)/2 - A/Ao internal (angle from coupler axis to innermost WG in array)
Asi (N+1)/2 + A/Ai internal (angle from coupler axis to first input WG)
Aso (Nout+1)/2 + A/Ai internal (angle from coupler axis to first output WG)
B (Lg-Rz*(sin(A0)- internal (geometric parameter)
P*A0*cos(A0)))/cos(A0)-
(Rend+C*P*A0)
C 0.5*DL*(Ro/Do) internal (geometric parameter)
CC C-Rz internal (geometric parameter)
DL GratingOrder*Lambda0/Nguide path length difference between the grating arms
Dlambda 0.0016 channel spacing (in wavelength)
Design_backgrou background_index design parameter
nd_index
Design_delta delta design parameter
Design_pol polarization design parameter
Design_width width design parameter
Di 20 waveguide separation at input circle

BeamPROP AWG Utility v2.1 Appendix B: Symbols Found in the Design Files • 47
Do 18.5 waveguide separation at output circle
Dz 0 displacement of foci from standard Rowland construction
Grating Order Lambda0/Nchan*DLambda) grating order – determined by equation and is not user selectable
Lambda0 1.55 center wavelength
Lextra 0 Extra length used in Lg and can be adjusted when necessary to
generate a working layout
Lg Lextra+Rend*cos(A0)+Rz*sin(A0) internal parameter (half length of WG array)
Li 2*Lit length of input waveguide(incl. taper)
Lim (Wit/2)*tan(zAi8)+1 internal (geometric parameter)
Lin 100 length of input section on full layout
Lit 500 length of input taper
Lo 2*Lot length of output waveguide(incl. taper)
Lom (Wot/2)*tan(zAo80)+1 internal (geometric parameter)
Lot 500 length of output taper
Lsep Ri+Dz sep bet. centers of Rowland circles
Lstar (Ri+Ro)-(Sagi+Sago)-Lsep length of straight part of coupler body
M 80 # of waveguides in array
Marray Wspan/Do # of waveguides in array
N 1 The number of input ports
N0 Design_background_index design parameter
Nchan 8 Number of wavelength channels
Nguide slabneff(Design_pol,0,Lambda0,N0 Effective index of the waveguide
,N0,N0+Design_delta,Design_widt
h)
Nout 8 The number of output ports
Nslab Design_background_index + index of the free space region
Design_delta
(coupler body)
P Pi/180 internal (convert degrees to radians)
Rbeg Ri+ Li internal (geometric parameter)
Rend Ro+Lo internal (geometric parameter)
Ri Ro/2 radius of inner rowland circle
Rin 5000 radius of input waveguide bends
Ro (Nslab/GratingOrder)*((Di*Do)/DL radius of outer rowland circle(length of star region) (Dz=0)
ambda)
Rz 5000 radius of first arrayed waveguide bend
(radius of all arrayed WG bends in …flat.ind)
Sagi Ri-Sqrt(Ri2-(Wstar/2)2) internal (geometric parameter)
2 2
Sago Ro-Sqrt(Ro -(Wstar/2) ) internal (geometric parameter)

48 • Appendix B: Symbols Found in the Design Files BeamPROP AWG Utility v2.1
W Width (untapered) waveguide width
Wim W+(Wit-W)*(Lit+Lim)/Lit internal (geometric parameter)
Wit 2*W waveguide width at input circle
Wom W+(Wot-W)*(Lot+Lim)/Lot internal (geometric parameter)
Wot Do waveguide width at the output circle of star coupler
Wspan 3*(Ro/Wit)*(Lambda0/Nslab) internal (geometric parameter)
Wstar (M+4)*Do width of star region
Zlens Lsep+(Sagi-Ri)+Lstar/2 reference point for star coupler
zAa1 (1-Asa)*Ao angle of innermost WG in array
zAi1 180-(1-Asi)*Ai angle of 1st input waveguide (at coupler)
zAi8 180-(8-Asi)*Ai angle of 8th input waveguide (at coupler)
zAo1 (1-Aso)*Ao angle of 1st arrayed waveguide (at coupler)
zAo80 (80-Aso)*Ao angle of 80th arrayed waveguide (at coupler)
zL1 (C-zR1)*P*zAa1+B Extra length needed to reach arc section in array
zR1 (Lg/cos(zAa1)- radius of first innermost WG bend in array
(Rend+C*P*zAa1+B))/(tan(zAa1)-
P*zAa1)

BeamPROP AWG Utility v2.1 Appendix B: Symbols Found in the Design Files • 49
Appendix C: AWG File Formats

This Appendix outlines both the AWG Design Info file format and the mode list file format.

AWG Design Info File Format


This is the format for the design info file used to add transmission, phase, or path length characteristics to each of the
arms of the array. This file should be in text (ASCII) format and placed in the same directory as the simulation files are
being run from.
PhaseCorDataFormat1
<number of arms> <number of data field columns>
<data-name1> <data-name-2> ...
<data-value-1> <data-value-2> ... (for arm 1)
<data-value-1> <data-value-2> ... (for arm 2)
...
Here, the <data-name> field is one of "Transmission", "Phi", or "dL". For example, to correct the power and phase in
each arm of a 5 arm router, the file might look like:
PhaseCorDataFormat1
5 2
Transmission Phi
0.8 -15
0.7 25.2
0.6 0
0.4 13
0.1 -79
Note that the order and number of the data field columns is arbitrary.

Mode List File Format


A mode list file is created at the end of the input star coupler. The format of this file is 2D is the following:
MODELIST 2_D
Number_Of_Points X_Min X_Max Z_Position
Wavelength
Amplitude Phase Position Angle Polarization Mode_Number Width
Cladding_Index Cladding_Index Core_index

BeamPROP AWG Utility v2.1 Appendix C: AWG File Formats • 51


:
:
An example of a mode list file is shown below:
MODELIST_2D
1701 -425 425 15000
1.55
0.3008934403 -3235.018101 -386.5430028 1.476158812 0 0 6 1.4482 1.4482 1.4532
0.2988540615 5625.73869 -366.7121738 1.40045836 0 0 6 1.4482 1.4482 1.4532
0.2992961009 14115.75867 -346.8826258 1.324757908 0 0 6 1.4482 1.4482 1.4532

52 • Appendix C: AWG File Formats BeamPROP AWG Utility v2.1


P
Phase Error 26
Prefix 36

Index S
Script File Meta Prefix 27
Simulate Both Stars 26, 27, 33
Starting ChannelEnding Channel 27

U
Use Seg-Axis Feature 16
User 1 33
User 2 33
#
# Arrayed Waveguides 15
# Input Ports 15
# of Output Ports 36
# of Wavelength Channels 36
# Output Ports 15
# Points per Channel 27
# Wavelength Channels 15

A
Allow 3D Simulation 16
Allow User Tapers 15

B
boldface Courier 2

C
Center Wavelength (um) 15
Channel Spacing (um) 15

D
Design Info File 26

F
Files… 30, 40

L
Layout File Meta Prefix 16

O
OK 16, 25, 27, 30, 36, 39, 40
Open 39

BeamPROP AWG Utility v2.1 Index • 53

You might also like