Skip to content

abstract.amplitude_modulator

amplitude_modulator(
*,
a0: Annotated[float, _] = 1.0,
a1: Annotated[float, units='1/V'] = 0.0,
a2: Annotated[float, units='1/V²'] = 0.0,
a3: Annotated[float, units='1/V³'] = 0.0,
z0: Annotated[complex, units='Ω'] = 50.0,
insertion_loss: Annotated[float, minimum=0, units='dB'] = 0,
extinction_ratio: Annotated[float, minimum=0, units='dB'] | None = None,
chirp: float = 0,
dloss_dv: Annotated[float, units='dB/μm/V'] = 0.0,
dloss_dv2: Annotated[float, units='dB/μm/V²'] = 0.0,
f_3dB: Annotated[float, minimum=0, units='Hz'] = 0,
) -> photonforge.Component

Abstract amplitude modulator.

Based on AmplitudeModTimeStepper. Maps an electrical drive voltage to an optical amplitude scaling factor via a cubic polynomial transfer function:

s0=a0+a1V+a2V2+a3V3s_0 = a_0 + a_1 V + a_2 V^2 + a_3 V^3

Args

  • a0: DC term of the polynomial transfer function.
  • a1: Linear coefficient of the polynomial transfer function.
  • a2: Quadratic coefficient of the polynomial transfer function.
  • a3: Cubic coefficient of the polynomial transfer function.
  • z0: Characteristic impedance of the electrical port used to convert the input field amplitude to voltage.
  • insertion_loss: Optical insertion loss.
  • extinction_ratio: Optical extinction ratio.
  • chirp: Chirp parameter CC as quoted on modulator datasheets: the output frequency deviates by δν=(C/4π) dln⁡P/dt\delta\nu = (C/4\pi)\,{\rm d}\ln P/{\rm d}t. Positive values blue-shift the rising optical edge and red-shift the falling one.
  • dloss_dv: Linear voltage-dependent optical loss coefficient.
  • dloss_dv2: Quadratic voltage-dependent optical loss coefficient.
  • f_3dB: -3 dB frequency cutoff for bandwidth limiting. Only active for positive values.