Stamp-based loaders lose samples at overlaps¶
Loaders that place samples by their stamps onto a grid overwrite samples where stamps overlap: about 0.48 s at every SNUADC reset, and one sample about every 35 minutes from the stamp arithmetic.
| Status | likely: consistent, with a known gap. |
| Devices | SNUADC |
| Variables | ECG lead II (SNUADC), Arterial pressure (SNUADC), Plethysmogram (SNUADC) |
What it means¶
The vitaldb package's to_numpy discards about half a second of signal at each reset, besides the time jump, and sorting by stamp scrambles sample order at overlaps.
What is done about it¶
The TimeNet import keeps every sample and places them by count.
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. |
| Records out of order at SNUADC resets, and where the lost time goes | 2026-10-17 | current | At every SNUADC reset the five records after it are written out of order: two continue the old timing and three start the new. Put back in order, the waveform runs on with no samples missing; the 18–20 ms lost at each reset goes missing inside the last old-timing record, and an extra zero sample follows. |
| 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. |