1
$\begingroup$

I am just understanding AGC :

As per my understanding, AGC is a digital block which controls the gain of the amplifier, placed after ADC, such that ADC doesn't clip the incoming data and maintains good SNR.

In most of the cases, I am seeing that AGC calculates the average energy of the incoming signal and then compares it with thresholds (lower and upper). If the average energy exceeds the upper threshold, amplifier's gain is reduced and if average energy is lower than lower threshold amplifier's gain is increased.

My doubt is, since the goal of AGC is to control gain of amplifier such that ADC doesn't saturate. Then why can't we consider maximum of absolute of the ADC output (calculated over a window size) and then control amplifier's gain according to that. This will reduce the hardware size being used in AGC to control the gain. Still why this method is not accepted ? Also, what challenges this method may have ?

$\endgroup$

2 Answers 2

1
$\begingroup$

With the implementation you propose, the gain would jump around quite a bit if the signal had a high crestfactor. Also, the SNR would be relatively low, as the gain will be set by the peaks only. Depending on the application, this could be okay, but it probably will not for most cases.

Setting the gain by average energy will result in some clipping (again depending on the actual signal and settings), but if done correctly will not affect overall SNR too much, which will be a good deal higher than in the above case.

For very low crestfactors both methods will be essentially the same.

Also, there are applications for AGC that don't target ADC/DAC saturation at all, like AGC for audio/speech signals, that aim at consistent perceived volume, which is again, aside from some other parameters, dominated by the energy rather than the peaks.

$\endgroup$
4
  • $\begingroup$ Can somehow statistics of incoming data be used to control the amplifier's gain instead of energy ? $\endgroup$
    – JHKKHJ
    Commented Apr 22 at 8:53
  • $\begingroup$ As a matter of fact, statistics are already used. Energy is mean, crestfactor is proportional to variance. What other statistical measures do you have in mind? $\endgroup$
    – Max
    Commented Apr 22 at 9:07
  • $\begingroup$ Do you have any other metric in mind which is similar to rms energy but doesn't require squaring of the incoming data. Since my concern is saving hardware $\endgroup$
    – JHKKHJ
    Commented Apr 22 at 9:49
  • $\begingroup$ Plain average of absolute values could work, depends on the signals you expect. $\endgroup$
    – Max
    Commented Apr 22 at 9:59
1
$\begingroup$

There are dozens of different AGC algorithms out there for all sorts of purposes. It really depends on the requirements of your specific applications.

gain of the amplifier, placed after ADC,

If it's a hardware AGC (e.g. for clipping prevention or SNR optimization) it sits before the ADC. If it's software one (e.g. for loudness normalization) it sits after the ADC.

since the goal of AGC is to control gain of amplifier such that ADC doesn't saturate.

There are many applications for AGCs. Keep your carrier at a constant level, normalization of speech or audio, thermal managers, all type of protection algorithms, etc.

Still why this method is not accepted ?

It is accepted. I've certainly seen examples

Also, what challenges this method may have ?

You need the right tool for the right job. If the job requires peak control, use that. If power control is a better fit, use that.

$\endgroup$
1
  • $\begingroup$ Can some method like ML estimation (maximum likelihood) be used to predict the peak in case where I am using peak based AGC?? $\endgroup$
    – JHKKHJ
    Commented Apr 29 at 7:07

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.