Recently I obtained some measurements using a consumer grade ECG device (wearable, thus designed for low power consumption). The device is claimed to have a dynamic range of 10 mV (peak to valley), and to have a bit depth of 16 for coding data.

However when looking at the data, the distribution is somewhat strange. E.g. when sorting all measured values according to size and then looking into difference to next smaller / larger value, most of them seem to be either 8 or 9 apart. And a short section with smaller differences around 100 µV (Kind of balance point of the circuit?)

Range vs value increment size

Now I tried to get an impression of the bit depth for quantization required to generate these increments. I chose the following approach:

  1. Filter the original data using a 2nd order Butterworth low-pass filter with a cut-off of 0.3 of Nyquist frequency, to obtain quasi continuous data with similar shape.
  2. quantize the filter output using various bit depths (16, as well as smaller ones), but for all of them setting the maximal data range to 10 mV as stated by the supplier (and centering at around +100 µV).
  3. Plot them with slight shift in y-direction to keep them clear of each other for easier discrimination. The nominal y-axis applies to the original data line (denoting µV).

enter image description here

From looking at the plots it seems the 16bit claim is somewhat far fetched: 10 bit depth is in my eyes the one that generates a step size closest to the original one.

My question now: What have I missed, and what processing steps do commonly reduce bit depth in a way that one can nominally claim 16 bit depth for the sampling and still arrive at an output like the one above.

Honestly the distribution reminds of this paper (https://ieeexplore.ieee.org/document/9544304) where authors use a 1bit ADC (with ultra low power consumption). Claimed bit depth there is strangely enough around 10.


1 Answer 1


After further research and reading some more papers on ECG data processing, it seems that I missed the DC offset component.

This has to be taken into account. According to some application note on testing ECG, industrial standards require (supplier claims FDA clearance) that a DC offset of -300 as well as + 300 mV does not affect linearity of dynamic range measurement.

It seems the supplier saved money by not spending it on a proper DC calibration circuit, so the DC offset just eats away from the ADC's dynamic range. Starting with LSB corresponding to around 9µV - like shown in the plot above - it looks like 16bit depth could just encompass about 0.6V range, i.e. the total range required - however at the cost of wasting ~6 bit that could otherwise be used for sampling the signal.

(Honestly, so far I did not see any clipping occur in any normal ECG measurement obtained from the device)


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.