Skip to content

abstract.mach_zehnder_modulator

mach_zehnder_modulator(
*,
drive: Literal['push-pull', 'dual'] = 'push-pull',
v_pi: Annotated[float, units='V'] = 0,
z0: Annotated[complex, units='Ω'] = 50.0,
extinction_ratio: Annotated[float, minimum=0, units='dB'] | None = None,
insertion_loss: Annotated[float, minimum=0, units='dB'] = 0,
f_3dB: Annotated[float, minimum=0, units='Hz'] = 0,
phase_bias: Annotated[float, units='°'] = 0,
k2: Annotated[float, units='rad/V²'] = 0,
k3: Annotated[float, units='rad/V³'] = 0,
dloss_dv: Annotated[float, units='dB/V'] = 0,
dloss_dv2: Annotated[float, units='dB/V²'] = 0,
) -> photonforge.Component

Abstract Mach-Zehnder modulator.

Based on MZMTimeStepper.

Args

  • drive: Modulator drive selection: dual input from independent ports or from a single electrical port in push-pull configuration.
  • v_pi: Half-wave voltage of the modulator, VπV_\pi.
  • z0: Characteristic impedance of the electrical port used to convert the input field amplitude to voltage.
  • extinction_ratio: Optical extinction ratio for the Mach-Zehnder.
  • insertion_loss: Optical insertion loss.
  • f_3dB: -3 dB frequency cutoff for bandwidth limiting. Only active for positive values.
  • phase_bias: Constant phase bias applied to the first arm.
  • k2: Quadratic nonlinear phase coefficient.
  • k3: Cubic nonlinear phase coefficient.
  • dloss_dv: Linear voltage-dependent optical loss coefficient.
  • dloss_dv2: Quadratic voltage-dependent optical loss coefficient.