Mach-Zehnder Interferometers

ach-Zehnder interferometers (MZI) are one of the simplest two-path interferometers to implement on a chip. They consist of a splitter, two delay lines, and a combiner coupler. In their simplicity, they are the basis for many more complex components.

The PICAZZO MZI classes provide a parametric framework to define both very simple and very advanced MZIs. The couplers for the splitter and combiner can be supplied by the user, using MMIs, directional couplers, or just Y-Splitters. The arms can be simple delay lines, or contain separate components, such as ring resonators or electro-optic phase shifters.

The hierarchy of an MZI is illustrated below:

The basic hierarchy of PICAZZO MZI components.

Because the splitter and combiner can be defined manually, the user specifies which of their ports connect to arm1 and arm2 using the splitter_port_names and combiner_port_names properties, respectively (the defaults follow the pattern in1, out1, …). Likewise, the corresponding ports on the arms are specified in arm1_port_names and arm2_port_names.

Two basic MZI classes are provided: one with simple delay lines, and one where each arm is a container with a user-defined cell.

MZI

Generic MZI, taking a splitter, combiner and two _MziArm objects.

MZIWaveguides

A MZI with two simple waveguide arms.

MZIWithCells

An MZI which contains another cell in one or both arms.

The individual arms can also be defined manually.

MZIWaveguideArm

A Mach-Zehnder arm with a given length: routing upward at right-angle

MZIContainerArm

A Mach-Zehnder arm which contains another cell and connects it to the splitter and combiner port