# How to choose FFT depth for ADC performance analysis (SINAD, ENOB)

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).

$$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$?

-
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 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 at 2:32
@Drazick: This paper from this comment may be a good starting point. –  FriendFX May 29 at 2:38