Maker Pro
Maker Pro

Stereo AGC with inexpensive components

B

Ban

Beginning of the months a question inspired us to ponder about an Automatic
Gain Control, keeping the output level constant over a wide range of input.
There is AFAIK no gadget available for the average user, avoiding jumps in
loudness if you switch from one source to another.(CD-player, Sound-card,
MP3-player etc.)
I will be posting the schematics in ABSE, anyone who cannot access can drop
me a mail.
Basically it works similar to the famous MC1494 multiplier. But for our
purposes we can simplify and improve the circuitry.

What we need is a fast peak-detector with a long hold time not to compress
the dynamics. With the drawn values the attack time is 2ms for a 20dB step
and more than 1min. for the release time.
The output controls the current of the first discrete stage. Thus a division
of Vin/|^Vin| keeps the max. output level constant(1.5V^) with inputs
between 100mV and 5V. We can adjust the O/P-level with the current of the
second discrete stage.
I also used cheap opamps TL72/74 and NE5532, the current mirrors can also be
replaced with two single transistors.

Maybe I should have taken a SSM2120, but the fun is to develop something
with just the jellybean parts,which has as high a performance as these
ICs(hopefully).
Critics and commentaries welcome.
ciao Ban
 
N

Nico Coesel

Ban said:
Beginning of the months a question inspired us to ponder about an Automatic
Gain Control, keeping the output level constant over a wide range of input.
There is AFAIK no gadget available for the average user, avoiding jumps in
loudness if you switch from one source to another.(CD-player, Sound-card,
MP3-player etc.)
I will be posting the schematics in ABSE, anyone who cannot access can drop
me a mail.
Basically it works similar to the famous MC1494 multiplier. But for our
purposes we can simplify and improve the circuitry.

It's much easier to use a LM319 -or similar op collector- comparator
and a TDA7052B (amplifier with a DC-gain control) to build a circuit
like this.
 
N

N. Thornton

Ban said:
Beginning of the months a question inspired us to ponder about an Automatic
Gain Control, keeping the output level constant over a wide range of input.
There is AFAIK no gadget available for the average user, avoiding jumps in
loudness if you switch from one source to another.(CD-player, Sound-card,
MP3-player etc.)
I will be posting the schematics in ABSE, anyone who cannot access can drop
me a mail.
Basically it works similar to the famous MC1494 multiplier. But for our
purposes we can simplify and improve the circuitry.

What we need is a fast peak-detector with a long hold time not to compress
the dynamics. With the drawn values the attack time is 2ms for a 20dB step
and more than 1min. for the release time.
The output controls the current of the first discrete stage. Thus a division
of Vin/|^Vin| keeps the max. output level constant(1.5V^) with inputs
between 100mV and 5V. We can adjust the O/P-level with the current of the
second discrete stage.
I also used cheap opamps TL72/74 and NE5532, the current mirrors can also be
replaced with two single transistors.

Maybe I should have taken a SSM2120, but the fun is to develop something
with just the jellybean parts,which has as high a performance as these
ICs(hopefully).
Critics and commentaries welcome.
ciao Ban


Hi

If youre using one of these, youve got problems. When you switch from
loud source to a quiet one it'll take forever to allow the volume to
come back up. Bigger problem is if you get a thump on switching, again
it'll be ages before your source gets heard again. Or the user adjusts
the volume, and it rises and rises for the next couple of minuets.

All in all not an effective solution.

If OTOH you have one of these circuits on each input _before_
switching, all is well - as long as your input isnt subject to the
occasional click and pop, which would knock your volume out.


Regards, NT
 
N

N. Thornton

Ban said:
Beginning of the months a question inspired us to ponder about an Automatic
Gain Control, keeping the output level constant over a wide range of input.
There is AFAIK no gadget available for the average user, avoiding jumps in
loudness if you switch from one source to another.(CD-player, Sound-card,
MP3-player etc.)
I will be posting the schematics in ABSE, anyone who cannot access can drop
me a mail.
Basically it works similar to the famous MC1494 multiplier. But for our
purposes we can simplify and improve the circuitry.

What we need is a fast peak-detector with a long hold time not to compress
the dynamics. With the drawn values the attack time is 2ms for a 20dB step
and more than 1min. for the release time.
The output controls the current of the first discrete stage. Thus a division
of Vin/|^Vin| keeps the max. output level constant(1.5V^) with inputs
between 100mV and 5V. We can adjust the O/P-level with the current of the
second discrete stage.
I also used cheap opamps TL72/74 and NE5532, the current mirrors can also be
replaced with two single transistors.

Maybe I should have taken a SSM2120, but the fun is to develop something
with just the jellybean parts,which has as high a performance as these
ICs(hopefully).
Critics and commentaries welcome.
ciao Ban


Hi

If youre using one of these, youve got problems. When you switch from
loud source to a quiet one it'll take forever to allow the volume to
come back up. Bigger problem is if you get a thump on switching, again
it'll be ages before your source gets heard again. Or the user adjusts
the volume, and it rises and rises for the next couple of minuets.

All in all not an effective solution.

If OTOH you have one of these circuits on each input _before_
switching, all is well - as long as your input isnt subject to the
occasional click and pop, which would knock your volume out.


Regards, NT
 
J

John F.

Nico Coesel said:
It's much easier to use a LM319 -or similar op collector- comparator
and a TDA7052B (amplifier with a DC-gain control) to build a circuit
like this.

Or to use a MC3340 electronic attenuator
or even better the NE572 compandor with built-in rectifier, separate
attack/release time and low distorsion.

 
B

Ban

N. Thornton said:
Hi

If youre using one of these, youve got problems. When you switch from
loud source to a quiet one it'll take forever to allow the volume to
come back up. Bigger problem is if you get a thump on switching, again
it'll be ages before your source gets heard again. Or the user adjusts
the volume, and it rises and rises for the next couple of minuets.

All in all not an effective solution.

If OTOH you have one of these circuits on each input _before_
switching, all is well - as long as your input isnt subject to the
occasional click and pop, which would knock your volume out.


Regards, NT

Yeah,
these are problems with the long release time, so better to use a current
source to discharge the cap. The adjustable minimum voltage can then be
added with a diode.
Also we can have 4 serially activated peak detectors with long release
times, one of which gets always reset with an update rate of a few seconds.
The output is the max. of all 4 detectors
the gain change can then be much faster with a time constant of a few
seconds only.

I haven't checked all the possibilities yet, very good to get some feedback
to find a simple yet appropriate solution.

Another application of the multiplier is a RMS-detector, so maybe for a
loudness control it would be better not to use a peak-detector, only for
recording purposes.

Now this starts getting sophisticated

ciao Ban
 
N

N. Thornton

Ban said:
Yeah,
these are problems with the long release time, so better to use a current
source to discharge the cap. The adjustable minimum voltage can then be
added with a diode.
Also we can have 4 serially activated peak detectors with long release
times, one of which gets always reset with an update rate of a few seconds.
The output is the max. of all 4 detectors
the gain change can then be much faster with a time constant of a few
seconds only.

I haven't checked all the possibilities yet, very good to get some feedback
to find a simple yet appropriate solution.

Another application of the multiplier is a RMS-detector, so maybe for a
loudness control it would be better not to use a peak-detector, only for
recording purposes.

Now this starts getting sophisticated

ciao Ban


Hi

A few years ago I found a much superior approach to agc than the old
time constant - adjust gain approach. Do people know about a better
alternative? Or is it not known? I would expect it is.


Regards, NT
 
N

N. Thornton

Jim Thompson said:
On 1 Sep 2003 16:07:52 -0700, [email protected] (N. Thornton) wrote:

Are you going to tell us, or must we grovel for a while ?:)

...Jim Thompson


Sorry, I didnt think that thru did I. I dont know. I guess I was just
asking if folks knew other ways to do agc.

Sorry for torturing you :(


Regards, NT
 
N

N. Thornton

John F. said:
Other ways? Sure.

You can use an analog switch like one found in 4066 and change the on/off
duty cycle proportionally to the input level. The circuit is more digital
than analog but could be simpler. An astable with output pulse duration
controlled by a voltage can do it, you still need a rectifier with time
constant.

The switching frequency is fixed and must be at least twice the highest
audio frequency to be controlled, to avoid audio aliasing.

Gain and time constant are two different things. The -ajust gain approach-
doesn't mean anything.

John


Creative. I cant think of any advantages offhand. Are there any other
known methods for producing agc? I'm beginning to wonder if there
possibly aren't.


Regards, NT
 
J

John F.

N. Thornton said:
Creative. I cant think of any advantages offhand. Are there any other
known methods for producing agc? I'm beginning to wonder if there
possibly aren't.


Regards, NT

Advantage: you can easily determined the signal division or attenuation. The
analog switch, in series with the feedback resistor of an opamp sets the
total feedback resistance.

Say the feedback resistor = 10K.
When duty cycle=100%, R feedback = 10K, because the switch = short circuit.
If duty is 50%, R feedback = 20K.
Duty=25%, R feedback = 40K and so on.

The behavior is easily replicable and predictable.
I use this trick as a stereo volume control. All is controlled by a 16F84A
PIC.

John -
 
R

René

"John F." <[email protected]> wrote in message news:<[email protected]>...
Creative. I cant think of any advantages offhand. Are there any other
known methods for producing agc? I'm beginning to wonder if there
possibly aren't.


Regards, NT

I used 2 rather strange methods in the remote past - Mainly used for
ham radio microphone compressing:

Use a NPN transistor, base fed over a BE junction of a similar
transistor - and attenuate the AC signal in the saturation domain. To
be used in a feedback loop using e.g. an opamp. With < 500mV p/p
signals this could work with distortion levels below 5%. I "stole"
this design out of a "Hifi" compact cassette deck with an autolevel
function. Never exactly worked out what that second BE junction was
for - but without it it worked markedly poorer.

Use the dynamic impedance of a diode with varying forward current. A
diode ring mixer-like arrangement of common 1N4148's between the
input / output of an Opamp would create a remarkable dynamic range (>
40 dB). Also < 10% distortion - fine for communication mics.
This one was derived from an Elector design of a LSP-driven / powered
compressor / limiter. (LSP in - Line out -> with constant level, no
external power needed)
 
J

John F.

René said:
I used 2 rather strange methods in the remote past - Mainly used for
ham radio microphone compressing:

Use a NPN transistor, base fed over a BE junction of a similar
transistor - and attenuate the AC signal in the saturation domain. To
be used in a feedback loop using e.g. an opamp. With < 500mV p/p
signals this could work with distortion levels below 5%. I "stole"
this design out of a "Hifi" compact cassette deck with an autolevel
function. Never exactly worked out what that second BE junction was
for - but without it it worked markedly poorer.

Use the dynamic impedance of a diode with varying forward current. A
diode ring mixer-like arrangement of common 1N4148's between the
input / output of an Opamp would create a remarkable dynamic range (>
40 dB). Also < 10% distortion - fine for communication mics.
This one was derived from an Elector design of a LSP-driven / powered
compressor / limiter. (LSP in - Line out -> with constant level, no
external power needed)

Interesting!

Have you any drawings or examples of these methods?


John -
 
Top