With this experiment we will demonstrate that it is possible to use randomness to improve the accuracy of an ADC (Analog to Digital Converter).
An ADC measures an analog voltage and converts it to a discrete numerical value, that is, it quantizes it in a certain number of values ranging from the minimum to the maximum of the measuring range.
We will use an ADC from 10 bit found in the Master module but we could get a resolution improvement with any type of ADC.
Our ADC is already oversampled up to 16 bit from the micro-controller, but we will be able to verify that without the addition of random noise the improvement obtainable with over-sampling is minimal. The values are however grouped around the quantized values of the ADC.
Therefore, as the input voltage varies from 0 a 3.3 volts we have about 1000 gardens (1024 to be precise). Therefore the values produced by our ADC are spaced by 3.3 millivolts from each other.
The phases of the experiment
- We will connect this ADC to a variable voltage and display the output values with the SignalScope which will show distant steps 3.3 millivolts from each other.
- Then we will add a random voltage of approx 3.3 millivolts of amplitude and we will average one hundred successive samples.
- Finally we will display again with the SignalScope the measured values and we will verify that the steps have become very small and are no longer visible.
UNDER CONSTRUCTION
… produced by a PWM signal
From theory to practice
These results are not just theoretical, we can actually use them to improve our systems. For example, we can connect this ADC to an integrated LM385 c measure the temperature as explained on this page, and since the LM385 produces 10 mV for each degree centigrade, we will get the following results:
- Resolution with the classic method = 0.3 Celsius degrees
- Resolution with the addition of randomness = 3 thousandths of a degree centigrade
We have been raised in determinism so we find it hard to believe that precision can be achieved by chance. But this experiment clearly demonstrates this and once you understand the principle it will be easier to trust non-deterministic methods.