We now use 4x oversampling to improve the resolution of 1 bit.
When we introduce large-amplitude white noise: 1.2mv amplitude (greater than 1LSB), and sample many times with the white noise unchanged, Then we get the result that the voltage ADC output is 0.5mv1.2mv1.7mv12mv/4=0.5mv0.6mv1mv1mv0.5mv-0.5mv5438+0mv. ! ! 0.5mv is what we want.
Please note here that we usually do the same when filtering! So why not improve the resolution? Because, when we do sliding filtering, we throw away the useful decimal part, because it exceeds the word length, then 0.5 is 0 after rounding, and the result is 0 without oversampling.
The oversampling method needs to keep the decimal part, so we use the value of 4 samples, but in the end it is not 4, but 2! Then keep some decimal parts to improve the resolution!
On the other hand, the result of ADC is enlarged by 2 times (0.5*2= 1mv), and the new ADC value is represented by a longer word length.
At this time, 1 LSB (bit 0 of ADC output) does not mean 1mv, but 0.5mv, and (bit1of ADC output) is the original data bit representing 1mv.
Let's look at the changes in the data:
The ADC value corresponds to bit 9 8 7 6 5 4 3 2 1 0.
The measured value of 0.5mv is 0000000000 mv (the resolution of10-bit ADC is 1mv, which is indistinguishable when it is less than 1mv, so the output value is 0).
The sum of the four oversampled values of superimposed white noise is 0000000 102mv.
The moving average filter is 2mV/4x 000000000mV (average value, which has no effect on improving resolution).
Over-sampling interpolation 2mv/200000000 1 2mv/2 = 0.5mv. Taking this number as the ADC value of 1 1 bit means 0.5mv. Here, we improve the ADC resolution of1bit.
This should be simple and clear. In fact, the extra bit data is calculated by counting the distribution of input quantity.
It is not the real resolution of hardware, but introduces noise and is greater than 1LSB, in order to superimpose the tiny input signal to the degree that ADC can recognize (the minimum resolution of the original ADC).
Theoretically, if the speed of ADC is fast enough, the resolution of ADC can be improved infinitely, which is the result of probability statistics.
However, the sampling speed of ADC is limited, and over-sampling makes the frequency of the final sampled signal lower and lower.
Take the ADC of stm32 and the ADC of 12 for example, the promotion and limitation caused by oversampling.
Resolution sampling times per second
12ADC 1 1M
13ADC 4 250K
14ADC 16 62.5K
15ADC 64 15.6K
16ADC 256 3.9K
17DC 1024 976
18ADC 4096 244
19ADC 16384 6 1
20 analog-to-digital converter 65536 15
Remember, these sampling times do not include the sliding filtering we are going to do.