get_layout_params_1xM_demux_um(aperture_in, aperture_arms, aperture_out, waveguide_template, output_spacing, M, center_wavelength, channel_spacing, FSR=None, grating_period=None, N_arms=None, alpha_factor=1.6, use_same_radius_for_input=True, verbose=False)¶
Calculate the layout parameters for building a 1xM AWG (1 input, M outputs), with channels equidistant in wavelength.
aperture_in, aperture_arms, aperture_out: PCells
Aperture component for input, output and arms.
waveguide_template: PCell template
Waveguide template for the delay lines.
Minimum spacing (center to center) of output apertures. Increasing this value means less cross-talk but also more power lost between two channels.
Number of output channels.
Center frequency of the filter [um].
Channel spacing [um].
FSR: float (default=None)
Free spectral range [um]. if None, use M * channel_spacing.
grating_period: float or None (default=None)
Period of the grating apertures. If None, it uses a value as small as possible (the width of the aperture + 0.2 um).
N_arms: integer or None (default=None)
Number of waveguide arms. If None, calculate automatically. Automatic calculation is done based on the spreading angle of the output aperture and R_grating.
alpha_factor: float (default=1.6)
Scaling of the divergence angle (NA) of input and output. The actual spreading angle used equals divergence angle * alpha_factor.
When True, use the same radius for the input star coupler as for the output (i.e., R_input=R_grating)
verbose: boolean (default=False)
When True, print the intermediate design parameters (useful for debugging)
A dictionary of layout parameters, including delay_length, N_arms, R_grating, R_input, angles_arms_in, angles_arms_out, angles_out
Delay line length to give the specified FSR. It is optimized to be centered at center_frequency, so the actual FSR may be slightly different. See also
N_arms (only calculated if None was specified):
Calculate the number of arms that fit into the spreading angle of the output aperture. Depends on: R_grating, grating_period, and divergence angle of aperture_out. If manually specified, this may increase the R_grating.
Radius of the grating. This is determined in such a way that the first order diffraction of the grating falls outside of the range of the output apertures. See also
get_R_grating(). Depends on: FSR / channel_spacing, grating_period, output_spacing, and slab material properties.
When use_same_radius_for_input is True, equals R_grating. Otherwise, based on the divergence angle of the input aperture.
Angles at which to position the grating apertures for the input/output star coupler, respectively.
Angles at which to position the output apertures. See also
- Function to build a pcell based on the layout parameters generated in this function.
The image below demonstrates which values are input (yellow) and output (grey). Some input values can be None, which means they will be auto-calculated:
Note that in an AWG, the channel with the lowest wavelength (\(\lambda_1\)) is oriented at the same side as the side with the longest delay line.