Tag Archives: ADC noise

ADS1211 evaluation: a bit of shielding goes a long way…

Following-up on earlier analysis, the ADC performance observed at small decimation (like 1 s averages, with 60 Hz data rate – 60x decimation) left something to be desired – quite a few bits lost due to mains (and/or other) sinusoidal noise.

Look at 1 hour worth of data (60x decimated; each sample: 1 s worth of data), at higher magnification than before – ticks every 15 minutes:
ads1211 zero dec=60 noise

Obiously, there are some bursts. And these are almost certainly not related to the ADC or anything internal to the circuit. Maybe the power supply, but added quite a few decoupling capacitors…

So, if the noise source is external, a bit of shielding might help – great to have a little metal box (even a steel box) at hand!

ads1211 in shielded box

Note the 2 BNC cables – rather than one – feeding the test signals from a fully-differential source, to avoid ground loops.

ads1211 zero shielded noise

Well, not much to add! Amazing what a little metal box can do!

Noise: external and internal

A quick – 9 hour test – of the ADS1211: at 60 Hz data rate, 16x turbo mode. About 2 million samples.

According to the datasheet, every sample will yield about 22 bits noise free data, according to the datasheet (red circle shows setting used):
ads1211 effective resolution

That’s what has been obtained.
ads1211 zero code distribution

Clearly visible, higher density of codes at the left and right end. Really suspicious – almost certainly, nothing else than a bit of mains feed-through, about 175 µVrms. Seems we get >20 bits, more or less, otherwise we would not be able to see the distribution (note that some counts have a positive deviation – due to non-linearity!).
But all this, with some 60 Hz noise on top…
Assuming that this noise is constant, it can be eliminated either by futher digital filtering, or by averaging/further decimation of the data, which will be done anyway. As a rule of thumb, decimation by half will give an extra 0.5 bit of data, for random noise – and a bit more for constant 60 Hz.

Here, a quick look at the decimated data (note that the sample axis ticks correspond to 2 hours time intervals):
ads1211 zero test decimated

In these diagrams, “full scale” corresponds to 20 V – the current configuration can hande up to 60 V differential signal, at 1 LSB equal 4 µV. So there is still room for improvement of resolution, like 1 LSB equal 2 µV – but this only provides useful data, if we can get noise down well below 2 µV, which will be tough anyway.

Also, quick statistical analysis, of the 10 s average – 600 sample average data:
ads1211 dev 10 s histo

Standard deviation, 0.71 LSB equals 0.71 LSB RMS noise, equals 3 µV. Quite reasonable!
Still visible are the two maxima of the distribution, due to the mains noise.

NFB vs decimation

Comparing to a random-noise based decimation-improved resolution (noise free bits), it seems that the converter is yielding about 20 noise free bits, at 60 Hz data rate. Not quite the 22 bits mentioned in the datasheet. This is not surprising, the last 2 bits, at the fast rate, we will only be able to get this with a better, ultra low noise reference, a low-noise bias supply, and low noise analog power supply (currently using the build-in reference, and build-in bias supply, and 5 V supply from USB bus…). But fair enough, about 24 noise free bits (7.5 digits!), at 10 s averaging, and 9 hours zero point drift of less than 0.4 ppm, this might already be good enough.