This version (01 Sep 2016 06:49) was approved by Venkatesan Krishnamoorthy.The Previously approved version (25 Jul 2014 22:25) is available.Diff

Automatic Volume Control

Click here to return to the ADI Algorithms page

This algorithm is intended for TV sound applications. The perceived volume level often changes considerably from channel to channel, and also within a channel, especially for commercials. This algorithm will automatically compensate for the different levels.

GUI Control

GUI Control NameDefault ValueRangeFunction Description
AVC Enableoffon or offTurns the processing on and off. This is a bypass switch; changing its position will immediately affect the output signal.
Decay Rate4 sec0.02 sec to 12 secControls the time to bring a low signal upward to the target level.
Max Attenuation (dB)1811 to 18The maximum attenuation that will be applied to a loud signal as the algorithm attempts to maintain a target output level.
Max Gain (dB)120 - 15The maximum gain that will be applied to a quiet signal as the algorithm attempts to maintain a target output level.
Output Level (dB)-18-18 to -3The target output level (in RMS) that the algorithm will try to maintain.
Freeze Level (dB)-36-36 to -20The threshold below which the algorithm considers a signal to be “noise” that is not suitable for amplification. When the audio input goes below this level, the output gain will remain unchanged. This effectively lets the algorithm ignore background noise when the main signal of interest is not present. Note that, there is a slow 'Decay Rate' of 12 seconds for the envelope below the freeze level

NOTE: this algorithm introduces a constant delay to the audio signal regardless of the AVC Enable setting. This algorithm only supports sampling rates of 44.1kHz and 48kHz (except for the ADAU145x processor which supports all sampling rates).

ADAU145x DSP: The ADAU145x implementation of this algorithm supports growing the input channels for 5.1/7.1 applications. However, the volume detection is calculated from the first 2 inputs only (left and right) and the resulting level compensation and delay is applied to all other channels.


The following example test circuit shifts the AVC's input between two tone levels 20dB apart: The envelope of the input signal to the ALC is as follows: The envelope of the resulting output signal is as follows: This clearly shows that the AVC algorithm applies a rapid gain reduction when the input level jumps up. When the input level jumps back down, the AVC algorithm slowly brings up the gain until the target level is reached.

resources/tools-software/sigmastudio/toolbox/adialgorithms/automaticvolumecontrol.txt · Last modified: 01 Sep 2016 06:33 by prasanna thirumaleshwara