Automatic Gain Control (AGC)
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
There are 4 different AGC Modes:
- Disabled
- Quiet Area
- Noisy Area
- Manual Control
Manual Control
With manual control it is possible to adjust several parameters to get the optimal AGC needed.
AGC Mode: Manual Control - enables manual control.
Max PGA: 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 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 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 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 0db.
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 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 does not amplify the noise also.
So if the signal is below this reference, it is considered as noise and the output of ADC 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 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 output signal.
It is expressed relative to full scale range of the ADC 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.