I am looking for the most precise way to determine the onset time of a very fast pulse sampled at 5 GHz coming from a physics detector.
Here is an example of my signals:
I already tried different things using the unfiltered and smoothed waveforms including:
- Different ways of looking at the second derivative in the hope of finding the turning point
- Fitting different types of models (see examples below)
The fitting yielded the best results but is really sensible to the fitting range which was chosen. I think one could do better. Since I want to be as precise as possible I am looking for other ways (maybe known algorithms?) to improve the onset time detection. I would be grateful for any input or ideas I could try out, thank you!
EDIT: Clarification of the problem
The detector in question is a so-called SIPM, a photodetector. The signals produced by light detection were digitized by using a waveform digitizer. In a very simple model the signal shape can be expressed as a convolution of two exponentials giving:
$$ f(t, A, t_0, \tau_r, \tau_f) = A \cdot \Theta(t - t_0) \cdot \left( \exp\left(-\frac{t - t_0}{\tau_r}\right) - \exp\left(-\frac{t - t_0}{\tau_f}\right) \right) $$
Basically simply an exponential rise and decay. Some SIPMs have a so-called fast output where the signal is decoupled by using a capacitance, which acts as a high pass filter. This is the reason for the "overswinging" tail. The above model can be modified to accommodate for that:
$$ f(t, A, t_0, \tau_d, \tau_r, \tau_f) = A \cdot \Theta(t - t_0) \cdot \left( \frac{\tau_d}{\tau_d - \tau_f} \cdot \exp\left(-\frac{t - t_0}{\tau_f}\right) - \frac{\tau_d}{\tau_d - \tau_r} \cdot \exp\left(-\frac{t - t_0}{\tau_r}\right) - \frac{\tau_d \cdot (\tau_f - \tau_r)}{(\tau_d - \tau_f) \cdot (\tau_d - \tau_r)} \cdot \exp\left(-\frac{t - t_0}{\tau_d}\right) \right) $$
Hence an additional parameter is introduced. See this example for a full fit of the signal:
My understanding of onset time is the the "start" time of the signal. So using the described model, I try to fit the signal and get t0. Since the tail of the signal does not contribute any information to the onset time, I first try to only fit the rising edge of the signal with the simpler model (see example below). This works but the result is highly dependant on the fit range, i.e. including/excluding a few points on the rising edge greatly changes t0. The underlying noise should simply be gaussian distributed electronic noise. Because of this sensible method I am wondering if there is a more robust approach. (The piecwise linear fit at the bottom was just another idea)
Exponential model:
And another one to see how many samples are given on the rising edge: