Skip to content

abstract.photodiode

photodiode(
*,
responsivity: Annotated[float, minimum=0, units='A/W'] = 1,
gain: Annotated[float, units='V/A'] = 1,
saturation_voltage: Annotated[float, minimum=0, units='V'] = 0,
saturation_current: Annotated[float, minimum=0] = 0,
roll_off: Annotated[float, minimum=0] = 2,
dark_current: Annotated[float, units='A'] = 0,
thermal_noise: Annotated[float, minimum=0, units='A²/Hz'] = 0,
pink_noise_frequency: Annotated[float, minimum=0, units='Hz'] = 0,
current_time_constant: Annotated[float, minimum=0, units='s'] = 0,
filter_frequency: Annotated[float, minimum=0, units='Hz'] = 0,
filter_quality: Annotated[float, minimum=0] = 0,
filter_gain: Annotated[float, exclusiveMinimum=0] = 1,
reflection: complex = 0,
z0: Annotated[complex, units='Ω'] = 50.0,
seed: Annotated[int, minimum=0] | None = None,
) -> photonforge.Component

Abstract photodiode.

Based on PhotodiodeTimeStepper.

Args

  • responsivity: Optical power to current conversion factor.
  • gain: TIA gain.
  • saturation_voltage: If non-zero, output saturation voltage of the TIA.
  • saturation_current: If non-zero, photocurrent of the space-charge saturation model.
  • roll_off: Roll-off factor for the space-charge saturation model.
  • dark_current: Photodiode’s dark current.
  • thermal_noise: One-sided power spectral density of the TIA’s input-referred thermal noise current.
  • pink_noise_frequency: Pink (1/f) noise corner frequency. If set to 0, pink noise is disabled.
  • current_time_constant: Time constant for averaging the photocurrent used to determine shot-noise power. This average does not affect the signal path. A value of zero disables averaging.
  • filter_frequency: If positive, sets the -3 dB frequency bandwidth for the first-order low-pass TIA filter. If a second-order filter is used (filter_quality > 0), this is its natural frequency.
  • filter_quality: If positive, enables a second-order filter for the TIA with this quality factor. Only when filter_frequency > 0.
  • filter_gain: Gain of the second-order TIA filter. Only used when filter_frequency > 0 and filter_quality > 0.
  • reflection: Reflection coefficient for incident fields.
  • z0: Characteristic impedance of the electrical port used to convert the output voltage to field amplitude. If None, derived from port impedance, calculated by mode-solving, or set to 50 Ω.
  • seed: Random number generator seed to ensure reproducibility.