2
\$\begingroup\$

I'm designing a digital parametric EQ that will go in front of a high gain guitar amplifier. I want to have the option to boost signals up to 12dB. I plan on implementing this either by attenuating the signal to the ADC by 1/4 (analog), or by knocking off a couple bits either before or after I filter the signal in the discrete domain. I will then amplify the output by 4x via analog means. In terms of SNR and Dynamic Range, which is the better alternative?

The ADC can take the input voltage from a guitar quite easily without clipping. Rather my concern is the clipping of the DAC once I crank up the gain by 12dB.

\$\endgroup\$
  • \$\begingroup\$ You have less resolution if you throw away the high order bits. Maybe that doesn't matter. \$\endgroup\$ – George Herold Apr 2 '15 at 19:28
1
\$\begingroup\$

If you have a multi-input ADC and can have it select among inputs that are amplified by different amounts, that's generally the cleanest approach. In some cases, one might also adjust gain by scaling down the reference voltage to an ADC.

The effectiveness of those approaches, versus simply scaling up the values read from the ADC, will vary significantly based upon the ADC design. Some kinds of ADC have a noise floor which is independent of the strength of the incoming signal, but some kinds of converters, especially delta-sigma ones, have a noise floor which varies with signal amplitude. An ideal 16-bit converter would have an SNR of about 96dB on a full-strength signal, but that would drop to 48dB on a -48dB signal. A cheaper 16-bit converter designed for audio, by contrast, might have only a 60dB SNR on a full-strength signal but still manage a 36dB SNR on a -48dB signal (reducing the signal by 48dB would only reduce the SNR by 24dB). On such a converter, feeding in a signal at -12dB and multiplying the readings by four would yield results that were not as good as feeding in a clean signal that was 12dB higher, but may degrade the SNR by a lot less than 12dB.

The cleanest way to scale signals is to use analog scaling before the ADC. Scaling digitally won't be as good, but the amount of degradation will depend upon the kind of converter used, and may or may not be objectionable.

\$\endgroup\$
1
\$\begingroup\$

In situations like this it's best to view the quantisers (ADC, DAC) as a noise source, and your task is to maximise the total signal to noise ratio (SNR).

FYI, an ADC/DAC has a max SNR of 6.02*b+1.76 (where b is the number of bits or ENOB).

So your best option would be to maximise the signal at the worst quantiser. So if you have an 8bit ADC and a 10bit DAC then max the ADC input signal and reduce the signal (and noise) by reducing the signal digitally but keeping the extra LSBs introduced by the gain reduction.

If you have the freedom to choose your ADC and DAC, I'd max the ADC signal and choose a higher resolution DAC to accommodate the extra bits generated by the gain reduction.

As a rule, the change in SNR as the signal changes in amplitude is fairly linear. A small additional reduction (1 to 2dB) can occur for large signals (say 1/2 scale) due to DNL and INL. So this should not be very relevant for you to consider.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.