comnum.PinFetReceiver#

class comnum.PinFetReceiver(responsivity, background_current_a, open_loop_gain, capacitance_f_per_m2, channel_noise_factor, transconductance_s, temperature_k, i2, i3)#

A PIN photodiode with a FET preamplifier: shot and thermal noise (Komine & Nakagawa 2004, eqs. (18)–(21)).

Parameters:
  • responsivity (float) – the responsivity (A/W).

  • background_current_a (float) – the background current of the ambient light (A).

  • open_loop_gain (float) – the open-loop voltage gain.

  • capacitance_f_per_m2 (float) – the fixed capacitance per unit area (F/m²).

  • channel_noise_factor (float) – the FET channel noise factor.

  • transconductance_s (float) – the FET transconductance (S).

  • temperature_k (float) – the absolute temperature (K).

  • i2 (float) – the noise bandwidth factor I₂.

  • i3 (float) – the noise bandwidth factor I₃.

Examples

>>> import comnum
>>> rx = comnum.PinFetReceiver.komine2004()
>>> rx.responsivity
0.53
static komine2004()#

The receiver of Komine & Nakagawa (2004), Tables II–III.

Returns:

the receiver.

Return type:

PinFetReceiver

ook_snr_db(signal_w, isi_w, area_m2, bandwidth_hz)#

The SNR (dB) of on–off keying with intersymbol interference (their eq. (16)).

Parameters:
  • signal_w (float) – the power received inside the bit (W).

  • isi_w (float) – the power spilled from the previous bits (W).

  • area_m2 (float) – the area of the photodiode (m²).

  • bandwidth_hz (float) – the noise bandwidth (Hz).

Returns:

the SNR (dB).

Return type:

float

shot_variance(signal_w, isi_w, bandwidth_hz)#

The variance of the shot noise (A²) of the signal and of the ambient light.

Parameters:
  • signal_w (float) – the power received inside the bit (W).

  • isi_w (float) – the power spilled from the previous bits (W).

  • bandwidth_hz (float) – the noise bandwidth (Hz).

Returns:

the variance (A²).

Return type:

float

thermal_variance(area_m2, bandwidth_hz)#

The variance of the thermal noise (A²) of the feedback resistor and of the FET.

Parameters:
  • area_m2 (float) – the area of the photodiode (m²).

  • bandwidth_hz (float) – the noise bandwidth (Hz).

Returns:

the variance (A²).

Return type:

float

background_current_a#

Background current of the ambient light (A) (read and write).

Type:

float

capacitance_f_per_m2#

Fixed capacitance per unit area (F/m²) (read and write).

Type:

float

channel_noise_factor#

FET channel noise factor (read and write).

Type:

float

i2#

Noise bandwidth factor I₂ (read and write).

Type:

float

i3#

Noise bandwidth factor I₃ (read and write).

Type:

float

open_loop_gain#

Open-loop voltage gain (read and write).

Type:

float

responsivity#

Responsivity (A/W) (read and write).

Type:

float

temperature_k#

Absolute temperature (K) (read and write).

Type:

float

transconductance_s#

FET transconductance (S) (read and write).

Type:

float