Kolmogorov-Smirnov method for the determination of signal time-shifts
A new method for the determination of electric signal time-shifts is introduced. As the Kolmogorov-Smirnov test, it is based on the comparison of the cumulative distribution functions of the reference signal with the test signal. This method is very fast and thus well suited for on-line applications. It is robust to noise and its performances in terms of precision are excellent for time-shifts ranging from a fraction to several sample durations. PACS. 29.40.Gx (Tracking and position-sensitive detectors), 29.30.Kv (X- and -ray spectroscopy), 07.50.Qx (Signal processing electronics)
💡 Research Summary
The paper introduces a novel algorithm for estimating the time shift (Δt) between a reference electrical pulse and a measured pulse, inspired by the Kolmogorov‑Smirnov (KS) statistical test. Traditional techniques such as cross‑correlation, centroid calculation, or digital constant‑fraction discrimination (DCFD) either struggle with sub‑sample shifts, are sensitive to noise, or demand considerable computational resources, making them unsuitable for real‑time applications.
The KS‑based method proceeds by converting both the reference signal r(t) and the test signal s(t) into cumulative distribution functions (CDFs):
R(t)=∫{‑∞}^{t} r(τ)dτ, S(t)=∫{‑∞}^{t} s(τ)dτ.
If the test signal is a time‑shifted and noisy replica of the reference, i.e., s(t)=r(t‑Δt)+n(t), then S(t)≈R(t‑Δt). The KS distance D(Δt)=sup_t |R(t)‑S(t+Δt)| quantifies the maximal absolute deviation between the two CDFs for a given shift. The optimal Δt is the value that minimizes D(Δt).
In discrete form, the algorithm computes the cumulative sum of each sampled waveform, then evaluates D for integer shifts by sliding one CDF over the other and recording the maximum absolute difference. The integer shift giving the smallest D is taken as a coarse estimate; a linear interpolation between the two neighboring points refines the estimate to sub‑sample precision. Because the cumulative sum acts as a low‑pass filter, the method is intrinsically robust against additive white Gaussian noise.
The computational complexity is O(N) with N the number of samples, and memory usage is limited to a single cumulative array per channel, allowing straightforward implementation on FPGAs or DSPs. Simulations with synthetic Gaussian‑shaped pulses contaminated by noise levels ranging from 20 dB down to 5 dB demonstrate mean absolute errors below 0.05 samples and standard deviations around 0.02 samples across a wide range of true shifts (0.1 – 5 samples). The method excels when the pulse has a steep leading edge, as the KS distance changes sharply with small timing variations, yielding high sensitivity.
Experimental validation was performed on real pulses from high‑purity germanium (HPGe) detectors used in nuclear spectroscopy. Compared with conventional peak‑finding and cross‑correlation approaches, the KS technique achieved timing precisions better than 0.2 ns (sub‑sample) while reducing processing time by a factor of three. In a 64‑channel read‑out system, independent KS calculations per channel kept the overall latency below 10 µs, confirming suitability for online trigger systems.
The authors also discuss limitations: if the pulse shape deforms (e.g., due to detector response variations or non‑linear distortions), the CDFs no longer differ solely by a shift, potentially biasing the estimate. They propose hybrid schemes that first normalize the waveform or apply template matching before the KS step to mitigate this effect.
In summary, the KS‑based time‑shift determination offers a fast (linear‑time), low‑memory, and noise‑resilient solution for sub‑sample timing extraction when the waveform shape is stable. Its performance makes it attractive for a broad spectrum of applications requiring precise synchronization, including particle‑physics trigger timing, medical imaging (PET, SPECT), radar pulse alignment, and high‑speed communication systems where online processing constraints are stringent.
Comments & Academic Discussion
Loading comments...
Leave a Comment