Audio Compression Amplifier /AGC

This is an audio compressor/AGC (automatic gain control) with an astonishing 75db input voltage range. A P-Channel JFET is used as a variable resistance element that is applied as a variable attenuator. Distortion is minimized by keeping the signal voltage across the JFET extremely low (1.3mV). This is an improvement over similar circuits that place the variable gain element in the op amp feedback circuit where it supports high signal voltages and subsequently introduces significant distortion.
AGC attack time & recovery time may be adjusted by altering resistor values. Signal input levels cover the range of 1.5mV to 8.3V. The output signal level is close to the consumer audio standard of -10dbV.

Schematic of Audio Compression Amplifier Circuit

Audio Compressor AGC Schematic

Circuit function

The circuit consists of four basic sections: Variable attenuator (R2 & Q1), fixed gain amplifier (U1) and amplitude detection (Q2) & Q1 bias control.

R1 provides a resistive load for the dynamic microphone – it may vary from about 150 to 600Ω for low impedance microphones to about 50K for high impedance microphones. If a transformer is used to convert the balanced line to unbalanced, R1 = square of the turns ratio times the microphone impedance.

The attenuation caused by R2 and the dynamic resistance of Q1 is a function of the JFET DC gate voltage: +6V provides no attenuation and 0V provides maximum attenuation.

The amplifier is a textbook non-inverting amplifier using a TL081 op amp. Note that there are many suitable operational amplifiers that may be used and some are better for audio than others. R4 & R5 set the single-supply amplifier bias point midway between 0 and 12V. C2 bypasses this point to ground potential and R3 provides a DC path for the extremely low op amp bias current (perhaps a few picoamperes).

The amplitude detector is very crude as it detects only the positive going signal excursion. When this signal voltage exceeds 0.65V, Q1 turns on and starts to discharge C3 through R10 – the lower the value of R10, the faster the attack time. The attack time must not be so fast that it responds to every peak, nor so slow that it takes too long to bring the signal level down to normal.

When no peaks are detected, C3 continues to charge via R9 thus reducing the attenuation of the variable attenuator. The resistance of R9 controls the recovery time. The attack time is generally one or two orders of magnitude faster than the recovery time. I experimented with a voltage clamp circuit that prevented the gate voltage from exceeding 6V, but found that it was unnecessary.

The JFET (Q1) has a sloppy range for the Vgs off parameter (3 to 6V). This tends to vary the bias clamp voltage, attack time and recovery time. For repeatable results, it is recommended that devices be selected for a tight range of Vgs off.

db website

This is a great reference website that covers db signal level units (dbV in this case) and db signal ratios (voltage gain and voltage attenuation).

For a primer, check out this table of common ratios:

Voltage gain Voltage attenuation
1 db – 1.1 -1db – 0.9
3 db – 1.4 -3db – 0.7
6 db – 2 -6db – 0.5
10db – 3 -10db – 0.3
20db – 10 -20db – 0.1
30db – 30 -30db – 0.03
40db – 100 -40db – 0.01
50db – 300 -50db – 0.003
60db – 1000 -60db – 0.001


79 Oscillographs

Observe the nice sine waves – minimal distortion for both low and high input voltage signals.



This was a fun experiment – the results far exceeded my expectations and I believe that it will likely become a favorite among audiophiles. Going with a split power supply (±15V) would enable it to output studio level signals with satisfactory headroom.

For the future

Intelligent gain control – a means of reducing short term cyclic gain variations (“breathing”).

Undocumented words and phrases – for our ESL friends

headroom (or headspace) –noun –literally, the space about one’s head such as in an automobile –in electronics it refers to excess signal level range that may be required for faithful reproduction of audio sound transients.

Sorry, comments are closed!