NHPP SPAD model visualization

Interactively explore the inter-detection interval distribution of free-running single-photon avalanch diodes (SPADs), based on the model presented in arXiv.2507.10361 and Krause et al., SPW 2026.

The probability density function (PDF) is modeled using a non-homogeneous Poisson process.

The model assumes the time-dependent hazard rate (avalanche rate)

λ(t)=λdc(t)+λphotons(t)+λap(t)=(Rdc+Riη0+k=1nNkτke(t+τd)/τk)(1et/τr)\begin{aligned} \lambda(t) &= \lambda_\mathrm{dc}(t) + \lambda_\mathrm{photons}(t) + \lambda_{\mathrm{ap}}(t) \\ &= \left(R_\mathrm{dc}^* + R_\mathrm{i}\eta_0 + \sum_{k=1}^{n}\frac{N_k}{\tau_k} e^{-(t+\tau_\mathrm{d})/\tau_k}\right)\left(1-e^{-t/\tau_\mathrm{r}}\right) \end{aligned}

with

λdc(t)=Rdcg(t),λphoton(t)=Riη0g(t),λap(t)=kNkτke(t+τd)/τkg(t),\begin{aligned} \lambda_\mathrm{dc}(t) &= R_\mathrm{dc}^* \, g(t) \, , \\ \lambda_\mathrm{photon}(t) &= R_\mathrm{i} \, \eta_0 \, g(t) \, , \\ \lambda_\mathrm{ap}(t) &= \sum_k \dfrac{N_k}{\tau_k} e^{- (t + \tau_\mathrm{d}) / \tau_k} \, g(t) \, , \end{aligned}

with the recovery function

g(t)=1et/τrg(t) = 1 - e^{-t / \tau_\mathrm{r}}

that models the recovery of the detection efficiency following each dead-time.

Furthermore:

  • tt : detector-on time, measured from the end of the dead-time of the previous avalanche
  • RdcR_\mathrm{dc}^* : a-priori dark-count rate
  • RiR_\mathrm{i} : incident photon rate
  • η0\eta_0 : zero-flux photon detection efficiency (PDE)
  • τd\tau_\mathrm{d} : dead-time
  • τr\tau_\mathrm{r} : recovery time constant of the detector after dead-time
  • NkN_k : average number of traps of type kk excited right after the avalanche of the previous detection event (assuming a Poisson distribution)
  • τk\tau_k : decay time constant of traps of type kk

The corresponding detector-on-time PDF is

p(t)=λ(t)eΛ(t),withΛ(t)=0tλ(s)ds.p(t) = \lambda(t) \, e^{-\Lambda(t)} \, , \quad \textrm{with} \quad \Lambda(t) = \int_0^t \lambda(s) \, \mathrm{d}s \, .

The measured detection rate is given by

R=1t+τdwitht=0tp(t)dt.\begin{aligned} R = \frac{1}{\langle t \rangle + \tau_\mathrm{d}} \quad \textrm{with} \quad \langle t \rangle = \int_0^\infty t \, p(t) \, \mathrm{d}t \, . \end{aligned}

This formalism also allows to calculate the individual sub-normalized PDF contributions, and relative contributions to the total detection rate, i.e.,

pdc(t)=λdc(t)eΛtot(t)Pdc=0pdc(t)dtpphotons(t)=λphotons(t)eΛtot(t)Pphotons=0pphotons(t)dtpap(t)=λap(t)eΛtot(t)Pap=0pap(t)dt\begin{aligned} p_\mathrm{dc}(t) &= \lambda_\mathrm{dc}(t) e^{-\Lambda_\mathrm{tot}(t)} & \Rightarrow & & P_\mathrm{dc} &= \int_0^\infty p_\mathrm{dc}(t) \, \mathrm{d}t \\ p_\mathrm{photons}(t) &= \lambda_\mathrm{photons}(t) e^{-\Lambda_\mathrm{tot}(t)} & \Rightarrow & & P_\mathrm{photons} &= \int_0^\infty p_\mathrm{photons}(t) \, \mathrm{d}t \\ p_\mathrm{ap}(t) &= \lambda_\mathrm{ap}(t) e^{-\Lambda_\mathrm{tot}(t)} & \Rightarrow & & P_\mathrm{ap} &= \int_0^\infty p_\mathrm{ap}(t) \, \mathrm{d}t \end{aligned}

Furthermore, the zero-flux afterpulsing probability (λdc+λphotons=0\lambda_\mathrm{dc} + \lambda_\mathrm{photons} = 0) is given by

Pap(0)=1eNap,P_\mathrm{ap}^{(0)} = 1 - e^{-\langle N_\mathrm{ap}\rangle} \, ,

where

Nap=0λap(t)dt=kNkeτd/τkτkτk+τr,\langle N_\mathrm{ap}\rangle = \int_0^\infty \lambda_\mathrm{ap}(t) \, \mathrm{d}t = \sum_k N_k e^{-\tau_\mathrm{d}/\tau_k}\frac{\tau_k}{\tau_k+\tau_\mathrm{r}},

Model assumptions and limits

  • Poissonian photon statistics only: The model assumes a Poissonian statistic of the photons hitting the detector. This holds true for laser light, but not for other light sources, such as thermal light. However, when using the model as a tool to learn about the intrinsic SPAD properties, this limitation is no problem as long a a laser is used to illuminate the SPAD.
  • No trap memory across multiple avalanches: Afterpulsing is only influenced by the previous detection. For high detection rates and short dead-times this assumption breaks down.
  • Trap excitation is independent of the recovery state: The average numbers of trap excitations, Nk,k{1,,n}N_k, k \in \{1, \dots, n\} is independent of the excess bias voltage. This assumption is not true for detection occuring during the recovery phase, i.e., for tτrt \lesssim \tau_\mathrm{r}, where fewer traps should get excited due to the smaller avalanche. Hence, the assumption breaks down especially for high detection rates.
  • No jitter: The model assumes that timing jitter is zero. With jitter, the histogram would be smeared out a little bit. Also, jitter might be higher for detections shortly after the dead-time window. And, depending on the discrimination electronics, detection shortly after the dead-time, for which the avalanches are smaller, might lead to a systematic disrcimination delay, effectively squeezing the PDF from the first nanoseconds towards later times.
  • Recovery is purely exponential: The recovery function g(t)=1et/τrg(t) = 1 - e^{-t/\tau_\mathrm{r}} assumes a linear relation between PDE and excess bias voltage, i.e., g(t)Vex(t)g(t) \propto V_\mathrm{ex}(t). In fact, the function g(t)g(t) should be sublinear. Specifically for actively quenched SPADs this function can take vastly different shapes.
Detection rate
1.51e+4 Hz
⟨Nap⟩ (zero flux)
0.0508
Pap (zero flux)
4.95%
Pdc
4.60%
Pphotons
91.96%
Pap
3.44%

Changelog

v0.1.0 2026-07-06
  • Initial release

License

This tool is licensed under CC BY-NC-SA 4.0.

"Commercial use" includes, but is not limited to, use by or on behalf of any for-profit entity, use in connection with any revenue-generating activity, and internal business use within any commercial organization. For commercial licensing, please write to contact@jankrause.org.