optic.models.devices.photodiode

photodiode(E, param=None)

Pin photodiode (PD).

Parameters:
  • E (np.array) – Input optical field.

  • param (optic.utils.parameters object, optional) –

    Parameters of the photodiode model.

    • param.R : photodiode responsivity [A/W][default: 1 A/W]

    • param.Tc : temperature [°C][default: 25°C]

    • param.Id : dark current [A][default: 5e-9 A]

    • param.RL : impedance load [Ω] [default: 50Ω]

    • param.B : photodiode bandwidth [Hz][default: 30e9 Hz]

    • param.IpdSat : saturation value of the photocurrent [A][default: 5e-3 A]

    • param.N : number of the frequency resp. filter taps. [default: 255]

    • param.fType : frequency response type [default: ‘rect’]

    • param.ideal : bool enabling the ideal photodiode model (i.e. \(i_{pd}(t) = R|E(t)|^2\)) [default: False]

    • param.shotNoise : bool enabling the addition of shot noise to photocurrent. [default: True]

    • param.thermalNoise : bool enabling the addition of thermal noise to photocurrent. [default: True]

    • param.currentSaturation : bool enabling the photocurrent saturation. [default: False]

    • param.bandwidthLimitation : bool enabling the bandwidth limitation. [default: True]

    • param.Fs : sampling frequency [Hz] [default: None]

    • param.seed : seed for the random number generator [default: None]

Returns:

ipd – photocurrent.

Return type:

np.array

References

[1] G. P. Agrawal, Fiber-Optic Communication Systems. Wiley, 2021.