Measurement Accuracy
The dynamic range of the audio path is important to understand because it has a direct impact on measurement accuracy. It is perhaps easiest to grasp the effect of level if we consider accuracy at the extreme loudest and lowest volumes.
Consider first the accuracy at maximum levels. Looking at the difference in dB between samples of value N and N-1 for several different values of N provides some insight. For 8-bit resolution, the value of N=127 is the max possible value and thus
However, for the value N-1,
Therefore, at maximum volume, the difference between N and N-1 is (0 - -0.07), which means we can resolve to within 0.07 dB; This is fairly good.
At half volume, N = 63 and the level in dBFS
For N-1 = 62,
The difference in this case between N and N-1 is (-6.09 - -6.29) = 0.14 dB.
This is still not so bad, but it becomes apparent that at half volume we can resolve to ½ the accuracy as at full volume, and it follows that at ¼ volume the accuracy will be ¼ that of full volume and so on.
For completeness, consider now taking it to the lower limit by looking at the difference in dB for N and N-1 at their lowest possible non-zero values. These are of course N=2 and N-1=1 and from experience the factor of two is apparent, which translates to a difference of 6 dB. [Just for reference, the difference in dB for the values N=3 and N-1=2 is 3.5 dB (for 8-bit resolution).
So for 8-bit, when a low level analog value close to 2 is sampled it will be quantized to an integer value of 1, 2, or 3 depending on round off or truncation logic in the A/D converter and subject to any noise in the analog signal. The point is that a sample value of 2 in dB can only be stated as “-36 dBFS accurate to within +3.5 or -6 dB”.
In other words, because the accuracy is at best within 3.5 dB and at worst within -6 dB, any measurement that seeks to detect changes accurately of say 3 dB is not possible.
Note: Especially for 8-bit measurements, it is essential that the signal level be as high as possible without exceeding maximum supported values.