[sci.electronics] AGC with DSP...

sutin@helios (Brian Sutin) (05/08/91)

I am using a 12-bit DSP system to do real time processing on full frequency
range audio signals.  Because of the dynamic range in volume, however, 12 bits
is very inadequate at low signal levels.  The solution for my application,
since I do not need to know the actual volume, is to use an analog circuit
similar to an AGC:

     INPUT--->AMP 1--->DSP--->AMP 2--->OUTPUT
       |        ^               ^
       v        |               |
     POWER-----------------------

Here POWER calculates the power of the input signal, which is filtered at
something like 10Hz.  AMP 1 takes the input signal and amplifies/de-amplifies
the output to be about 1v.  AMP 2 takes the output from the DSP, also about
1v, and amplifies/de-amplifies back to the original volume level.  If both
amplifiers are linear to 12 bits over the entire power and frequency range,
then the entire configuration should have no audible distortion.

Since my circuit design knowledge is not up to this level, I have no idea
how to actually implement this application.  I cannot believe that someone
out there hasn't already done this, or doesn't have something better.

Any input by e-mail appreciated.

Brian Sutin
Lick Observatory, UCSC
sutin@helios.ucsc.edu

grayt@Software.Mitel.COM (Tom Gray) (05/09/91)

:I am using a 12-bit DSP system to do real time processing on full frequency
:range audio signals.  Because of the dynamic range in volume, however, 12 bits
:is very inadequate at low signal levels.  The solution for my application,
:since I do not need to know the actual volume, is to use an analog circuit
:similar to an AGC:
:
:     INPUT--->AMP 1--->DSP--->AMP 2--->OUTPUT
:       |        ^               ^
:       v        |               |
:     POWER-----------------------
:
:Here POWER calculates the power of the input signal, which is filtered at
:something like 10Hz.  AMP 1 takes the input signal and amplifies/de-amplifies
:the output to be about 1v.  AMP 2 takes the output from the DSP, also about
:1v, and amplifies/de-amplifies back to the original volume level.  If both
:amplifiers are linear to 12 bits over the entire power and frequency range,
:then the entire configuration should have no audible distortion.
:
:Since my circuit design knowledge is not up to this level, I have no idea
:how to actually implement this application.  I cannot believe that someone
:out there hasn't already done this, or doesn't have something better.

What you are describing is a companding DAC. These are widely used in 
the communication industry to achieve a constant SNR over a wide
range of inputs. In this way the quantizing noise for a
loud talker (-18dBm) is thae same as that of a quiet talker (-35dBm).

Any complete text on communications will have a description of
the transfer functions used in the compressor and expander.
Approximations to logarithmic curves are often used.
Common ones are the A Law and mu255 Law curves. These are
described in CCITT documents.

Common telephoney codecs will supply 13 bit resolution with 8 bit
accuracy. Since these are $3 chips, they may be suitable for you.