The ADC I am working on has a resolution of 24 bits and a Signal-to-Noise and Distortion (SINAD) of 108.4 dB. Assuming only quantization noise is present, the Signal-to-Noise Ratio (SNR) of the ADC should be 146.24 dB. However, due to factors such as thermal noise and Total Harmonic Distortion (THD), the ADC cannot achieve this SNR, and the Effective Number of Bits (ENOB) is degraded to around 17.7 bits out of the 24 bits.
To enhance the ENOB, I plan to implement oversampling, which appears to improve the quantization SNR by adding the 10log(Fos/Fnyq). I want to quantify this improvement in terms of the total noise of the ADC, assuming the base value is 108.4 dB.
For instance, if I apply an oversampling rate of 256, then there should be a gain of 24.08 dB in the SNR due to oversampling. However, I'm unsure how this improvement is reflected in the total SNR of 108.4 dB. Will it be improved to 108.4+24.08=132.48 dB? After this, would it be possible to enhance the ENOB to around 21.7 bits theoretically?
Considering a filtering process after oversampling, how do I decide the length and scaling of the measurements at the output to leverage oversampling? In tools like MATLAB's FIR filter design utility, I can select to maintain full precision at the output or use a reduced bit length (e.g.24 bits), assuming 24-bit coefficients for the filter.
If I keep the full length of the accumulator, how is the improvement in the SNR reflected in the filtered results? Can I use just 29 bits out of the result of a 54-bit accumulator? How can I interpret this 29-bit quantity as a meaningful voltage value? Is it sufficient to use 24 bits again as an output, theoretically confining the error in my measurements to the missing bits based on the achieved ENOB after oversampling?