[comp.dsp] using FFT to get bit resolution of an ADC

mikec@ux1.lbl.gov (Mike Chin) (01/17/90)

I'm playing with a 16-bit ADC. Both the manafacturer and
some HP Appnotes recommend inputting a spectrally
pure sine wave, and taking the FFT. ADC nonlinearities show up
as spikes at harmonics of the fundamental. No problem.

However, they also claim that a signal/noise figure can
be derived by taking the ratio of the fundamental(S) to the
sum of the rest of the spectra (N) and computing 20*log10(S/N).
They say that an M-bit ADC should have a S/N of (6*M + 1.8)dB

When I cook up a 1024pt 16-bit ADC data simulation, I window the data
with a Blackman-Harris window, take the FFT, and find the
fundamental where I expect, spread over maybe 5 bins. If the FFT mags
are in an array C[1...1024] and the fundamental is in C[30], I do:
	E1=sum(C1:C512),
	E2=sum(C28:33),
	S/N=20*log10((E1-E2)/E2).

Problem: I get ~75dB instead of 96dB for this ideal 16-bit simulation.

Mike Chin
Lawrence Berkeley Labs
MJChin@lbl.gov