Skip to content

SNUADC stamps run −0.95 ppm against the sample count

Between corrections each 0.2 s record stamp increment is about 0.19 µs short: stamps run −0.95 ppm from the sample count in 88% of files (both SNUADC modes). It is arithmetic, not clock drift. The other 12% sit between −0.90 and −0.55 ppm.

Status established: shown on many cases, with a control.
Devices SNUADC, Vital Recorder

What it means

Rates read from stamps include −0.95 ppm; the frequent-correction mode's "about −1 ppm" is this, not drift. Placing samples by rounded stamps, as the vitaldb package does, overwrites one sample about every 35 minutes.

What is done about it

The TimeNet import places samples by count, so no sample is lost. The census of all files (17 October) confirmed it.

Evidence

Study Date Status Summary
SNUADC stamp arithmetic 2026-10-17 current Between corrections the SNUADC block stamps run −0.95 ppm against the sample count: each 0.2 s increment is about 0.19 µs short. This, not clock drift, is the "about −1 ppm" seen in frequent-correction mode.
Paced ECG as an independent clock 2026-10-17 current Fixed-rate pacing gives a clock the recording chain cannot touch. Timing paced beats on three timelines shows that each SNUADC step-mode correction loses about 18 ms of signal, and that nothing else breaks the sample stream.
The vitaldb package's loading conventions 2026-10-17 current The vitaldb Python package sets time zero from the tracks loaded, places waveform blocks by rounding their stamps up to a sample, and lets overlapping blocks overwrite each other. Each choice moves or loses samples.