Signal Processing Stack Exchange is a question and answer site for practitioners of the art and science of signal, image and video processing. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am trying to simulate a model of an ADC and determine its performance.

One of the interesting properties is the ENOB (Effective Number Of Bits), which can be calculated from SINAD (SIgnal-to-Noise And Distortion ratio).

On that SINAD Wikipedia page, there is a PDF document which suggests that the second definition on the SINAD Wikipedia page is the one to use and which I interpreted to be

$$ SINAD = 10 \log_{10} \left( \frac{p_f} {\sum_i{(p_i)} - p_0 - p_f} \right)dB $$

Where $p_x$ is the power the FFT bin at frequency $x$, $p_f$ is the power of the frequency bin containing the signal frequency $f$ and $p_0$ is the DC component. I calculate the power of each bin by squaring the normalized amplitude. Also note that the sum in that equation runs over all frequencies from $0$ to the Nyquist bandwidth $f_s/2$ with $f_s$ being the sampling frequency of the ADC.

That same document also defines $$ ENOB = \frac{SINAD-1.76dB}{6.02} $$

Using my SINAD and this ENOB definition, I compared the output of an ideal $N$ bit ADC model, which matched for my FFT depth.

In another (related) PDF document, it states that the FFT depth must be large enough in order to distinguish between the FFT noise floor and the ADC noise. To my surprise, it also says that the FFT noise floor is $$ 10 \log_{10} \left( \frac{M}{2} \right)dB $$ below the theoretical signal-to-quantization-noise $SNR=6.02N+1.76dB$, which makes me wonder how $M$ can thus ever be "too low"?

While playing with different ADC models, I have seen that the ENOB does vary significantly when I set $M$ too low, so I am wondering if there is any guide on how to choose $M$ for a desired ADC bitwidth of $N$?

share|improve this question
I think what the document is saying is that you want to make $M$ large enough so that the FFT's noise floor is well below the ADC's noise floor. By pushing the FFT's noise floor down, it has a diminished effect on the result (what you see is "more ADC noise, less FFT noise"), allowing you to more-easily distinguish where any distortion products might be. – Jason R Feb 14 '13 at 14:29
@JasonR, that makes sense. The reason why I could see so much influence of $M$ on the ENOB could also have to do with the incorrect calculation of SINAD - I started a separate question for that since I was so far unable to find an equation in the literature and the SINAD equation here was just my interpretation from the Wikipedia article. – FriendFX Feb 15 '13 at 3:41
By the way, is there an article about how to simulate ADC's? Namely I have an ADC with a given SFDR, SINAD and SNR, what would be the right way to simulate? Did you encounter such paper? – Drazick Apr 14 '14 at 21:29
@Drazick: No, I didn't come across a paper on that. For my purposes, I fed in a sine wave (and optionally some noise) and analysed the FFT results after A/D-conversion. This question is on how to analyse these results correctly. – FriendFX May 29 '14 at 2:32
@Drazick: This paper from this comment may be a good starting point. – FriendFX May 29 '14 at 2:38

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.