Automatic Gain Control (AGC)

From exigoWiki
Jump to navigation Jump to search

This article explains the Automatic Gain Control (AGC) function in Exigo.

By enabling AGC gain will be automatic adjusted according to the background noise level.
AGC can be enabled on Access Panels and Kits.

Configuration

Enabling AGC:

Desired endpoint -> Audio Lines -> Electret mic as independent input -> agc
Automatic Gain Control


There are 4 different AGC Modes:

  • Disabled
  • Quiet Area
  • Noisy Area
  • Manual Control

Manual Control (advanced)

With manual control it is possible to adjust several parameters to get the optimal AGC needed.

Automatic Gain Control - Manual Control


AGC Mode: Manual Control - enables manual control.

Max PGA (Programmable gain Amplifier): Allows the user to restrict the maximum gain of PGA. Can be used in very noisy environments when noise is greater than the set noise threshold so as not to amplify the noise too much.

Attack Time: This determines how quickly the AGC circuitry decreases the PGA gain when the input signal exceeds the target level.
It is expressed in fractions of ADC (analog-to-digital converter) sampling rates.

Decay Time: This determines how quickly the AGC circuitry increases the PGA gain when the input signal falls below the target level.
It is expressed in fractions of ADC (analog-to-digital converter) sampling rates.

Gain Hysteresis: Hysteresis applied to the required gain calculated by the AGC function while changing its mode of operation from attach to decay or vice-versa.
For example, while attacking the input signal, if the current applied gain by the AGC is x dB, and suddenly because of the input level going down, the new calculated required gain is y dB, then this gain is applied, provided that y is greater than x by the value set in Gain Hysteresis.
This feature avoids the condition when the AGC function fluctuates between very narrow band of gains leading to audible arte-facts.

Hysteresis: Hysteresis around the noise threshold avoids fluctuation of ADC (analog-to-digital converter) output between target and no signal when the signal is around noise threshold.
So the signal around noise threshold, it has to rise above the hysteresis to be amplified to target level.
Reverse if a signal is around noise threshold, it has to fall below hysteresis to be considered as noise and set to 0 dB.

Noise Debounce: If the signal level falls below noise threshold level, it has to stay there for a time greater than Noise debounce time, only then the ADC (analog-to-digital converter) output is set to 0 to avoid false noise artifact effects.

Noise Threshold: A threshold used to differentiate noise from very weak signals so that the PGA (Programmable gain Amplifier) does not amplify the noise also.
So if the signal is below this reference, it is considered as noise and the output of ADC (analog-to-digital converter) is 0 dB.

Signal Debounce: If the signal level goes above the noise threshold level, it has to stay there for at least Signal debounce time to allow PGA (Programmable gain Amplifier) to switch to target level to prevent false switching.

Target Level: This represents the nominal output level that the AGC attempts to hold the ADC (analog-to-digital converter) output signal.
It is expressed relative to full scale range of the ADC (analog-to-digital converter) range (in dB) so it is recommended that the target level be set with enough margin to avoid clipping of loud signals.

Availability

This function is available from Exigo 1.3.3 and newer.