I have a weak AC signal which I amplify about 25k times. (Frequency of my signal is from 1kHz to 30kHz. )

However in certain cases this gain become more than enough and saturate at the input of adc.

What is the correct way to do AGC ?

Currently the only ideas are digitally controlled resistors, which I believe would be noisy or at least I don't find this solution elegant. Alternative is to use multiple ADCs where I sample the signal at different locations in the signal chain. But this may get expensive especially if I use expensive ADCs.

Looking for ICs or more elegant solutions.

  • 5
    \$\begingroup\$ Audio? RF? DC? Need more information. \$\endgroup\$
    – Daniel
    Commented Sep 26, 2016 at 0:35
  • \$\begingroup\$ What frequency is this at, and do you need a DC accurate signal path? \$\endgroup\$ Commented Sep 26, 2016 at 1:13
  • 4
    \$\begingroup\$ In engineering, there is no correct way to do things. There are a multitude of ways that work, with different trade-offs. \$\endgroup\$
    – rfdave
    Commented Sep 26, 2016 at 2:09
  • 1
    \$\begingroup\$ What range of AGC gain values are you needing? What is your amplifier that gives you a gain of 25k? \$\endgroup\$
    – Andy aka
    Commented Sep 26, 2016 at 7:17
  • \$\begingroup\$ One approach I mentioned recently here (to the gain control part, leaving the "automatic" part to a microcontroller) electronics.stackexchange.com/questions/246271/… \$\endgroup\$
    – user16324
    Commented Sep 26, 2016 at 10:15

2 Answers 2


There are two ways to do AGC

a) Switched gain or attenuation stages
b) Continuously variable gain or attenuation stages

and then within both of those, whether you control the gain, or attenuation of a stage.

They have different tradeoffs, different parameters will be important to different users.

The big difference is whether your application can tolerate switching, or must have smooth variation between gain levels. Microphone levelling must obviously use the latter.

Generally, switched systems can be made with a higher dynamic range than continuous ones, there are fewer tradeoffs on noise and distortion. They are also usually easier to get right.

Switched systems further break down into circuits which switch the value of a component (for instnce a digitally controlled resistor in an attenuator or feedback loop), and circuits that switch from one amplifier to another, or one attenuator pad to another.

Once you start looking for switches, and switched components, including DACs with a dynamically controlled reference current like AD5443 which goes to 10MHz on the multiplying path, then the world is your oyster.

Establish whether you want audio, or RF, or microwave, as that will determine where you search.

  • \$\begingroup\$ Thanks Neil. I am fine with switched or continuous systems. My frequency range is 1-30 kHz. I am looking for a specific approach such as reference circuits etc. \$\endgroup\$
    – TGG
    Commented Sep 27, 2016 at 22:24

I am a great fan of closed loop systems, so i would recommend a PID controller, based on microcontrolled and analog amplifier with digital potentiometer in feedback. This is a very intuitive approach. You use your internal ADC to measure signal amplitude (maybe with peak detector or other circuit on the input), calculate the error and adjust the gain of the amplifier. It behaves same way as if a man would turn knobs to keep the level constant.

The PID itself is also very easy concept- your command to the output gain is sum of integral of error, error itself and its derivative, each with some coefficient that you will tune to achieve performance you want.

The only problem i see is that to implement this thing easily you need either guidance or experience, otherwise you will have to learn everything the hard way.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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