If i remember the decibel range is bit depth * 6.
I play wav file that his bit depth = 16 (using NAudio lib) and I get the fft result then i'm calc the decibels for each fft result. 20 * Math.log10(fftData[i]) and i've got strange results (-109...) how it can be over -96 (for 16 bit)?
(i work with .net 4)
Thanks!
dB is a measure of ratio, not absolute amplitude. Your figure of -109 dB is a ratio relative to some arbitrary 0 dB reference point, which may or may not correspond to full scale in your case.
It's also important to note that the energy in just one frequency bin may be a lot smaller than the energy corresponding to a 1 bit signal, as already mentioned by Matt M, since it represents energy in a relatively small bandwidth (units are V / sqrt(Hz)
).