I want to do a 10-bit ADC, but after run I an FFT, the ENOB (effective number of bits) result will achieve 12 bits.
Is this possible? How can I do it?
I want to do a 10-bit ADC, but after run I an FFT, the ENOB (effective number of bits) result will achieve 12 bits.
Is this possible? How can I do it?
A delta-sigma ADC is usually 1 bit at its heart yet, it can achieve 16 bits or more by oversampling and digital filtering. I'm not going to go into the subtleties of how but, the same technique applies to "ordinary" ADCs - if you bump up the sample rate by 4 times and average those four samples digitally, you can get more resolution (see dithering below).
Four times over-sampling produces 1 extra bit of resolution. To get two bits of extra resolution you need to oversample 16 times.
Just think about the 4x over-sampling in practical terms. If your basic resolution was 1 volt and four consecutive samples were 1 volt, 1 volt, 2 volts and 1 volt, the average is 1.25 volts. That's an improvement. This technique will only work when there is a little noise in the system and luckily, in high bit resolution ADCs this is inevitable (see dithering below).
See also wiki - dithering: -
In ADCs, performance can usually be improved using dither. This is a very small amount of random noise (e.g. white noise), which is added to the input before conversion. Its effect is to randomize the state of the LSB based on the signal. Rather than the signal simply getting cut off altogether at low levels, it extends the effective range of signals that the ADC can convert, at the expense of a slight increase in noise. Note that dither can only increase the resolution of a sampler.
after run I an FFT, the ENOB (effective number of bits) result will achieve 12 bits.
Ask yourself, how many samples does your FFT algorithm take.
but after run FFT , the enob result will achieve 12bit , is this possible ?
Whether it appears to be possible or not depends on what you are measuring.
To compute the ENOB (Effective Number of Bits) of an ADC, you reduce the number of bits of an ideal ADC, until it matches the SINAD (Signal to Noise and Distortion) of your ADC under test.
As the other answers say, an FFT is fully bijective, it neither adds nor removes information. Parseval's Theorem says that if you want to calculate the total power of a signal, it doesn't matter whether you sum the squares of the time series, or sum the squares of the frequency results, you get (you must get) exactly the same answer.
The ENOB of an ADC, measured through an FFT, should have exactly the same value as that measured at the ADC itself.
So could you get apparent increased ENOB from and ADC+FFT?
Yes. If you measure a single signal with the ADC, then FFT it, the signal will be concentrated into a few bins, and the noise will be spread over the entire spectrum. If you now say 'my signal is only in these bins' and eliminate all the other bins, then you have removed almost all the noise on the signal, and the SINAD and hence ENOB has improved dramatically.
This is where we see the difference between Dithering a converter, and using Sigma Delta techniques. Both result in interpolation of the ADC's basic resolution by adding noise. In dithering, the noise added is generally white. Rejecting noise-only bins after filtering only results in a pro-rata reduction in noise power, as some of the noise still falls in the signal range, so 4 times the sample rate halves the noise voltage, giving you an extra bit. In sigma delta, the noise is frequency shaped so that it all falls outside the signal band. Now the improvement due to filtering is not limited by noise, but by the ADC linearity, which usually being a single bit (so needing no bit to bit matching) can be orders of magnitude better than a conventional ADC.
I want to do a 10bit ADC , but after run FFT , the enob result will achieve 12bit , is this possible ? how to do that ?
No, that in itself is not possible: you can't have a bit depth increase in all the elements of the FFT – otherwise, you'd be finding information out of "nowhere", as (due to Parseval's theorem), the total SNR before and after the FFT remains the same.
However, when you know your signal of interest is only in a subset of the FFT bins, of course, that increases the SNR in these, and hence, you get larger ENOB. (You'll notice that the FFT == DFT is just a truncated sinc filterbank, so yes, you get the processing gain Andy refers to, when looking at individual FFT bins! In that case, you use the N-point FFT as 1/N-band bandpass filter.)
If you know that, however, then chances are the FFT is not the right tool - you'd be ignoring most of its output. Again, if you were to look at all the FFT output, the SNR would remain the same, as there's no change in information in the DFT; it's a fully bijective mapping.
How many 10-bit measurements are you feeding into your FFT? Typically it takes more than one reading in the time domain to attain enough of a waveform to transform into a meaningful result into the frequency domain (as an example of a FFTransform). So those many measurements that you take at 10-bits get processed to achieve a higher resolution FFTransformed value. Think about it, if you have 10-bit data across many (thousands) of waveform cycles, you can very accurately determine the frequency of the waveform once it is transformed (via FFT).