ADC
www.ti.com
flag. The gain stays at 0dB unless the input speech signal average rises above the noise threshold
setting. This noise-gating ensures that noise is not 'gained up' in the absence of speech. Noise
threshold level in the AGC algorithm is programmable from -30dB to -90dB of full-scale. When AGC
Noise Threshold is set to –70dB, –80dB, or –90dB, the microphone input Max PGA applicable setting
must be greater than or equal to 11.5dB, 21.5dB, or 31.5dB respectively. This operation includes
hysteresis and debounce to avoid the AGC gain from cycling between high gain and 0dB when signals
are near the noise threshold level. The noise (or silence) detection feature can be entirely disabled by
the user.
6. Max PGA applicable allows the designer to restrict the maximum gain applied by the AGC. This
feature limits PGA gain in situations where environmental noise is greater than the programmed noise
threshold. Microphone input Max PGA is programmable from 0dB to 58dB in steps of 0.5dB.
7. Hysteresis, as the name suggests, defines a window around the Noise Threshold which must be
exceeded to either detect that the recorded signal is indeed noise or signal. If initially the energy of the
recorded signal is greater than the Noise Threshold, then the AGC recognizes it as noise only when
the energy of the recorded signal falls below the Noise Threshold by a value given by Hysteresis.
Similarly, after the recorded signal is recognized as noise, for the AGC to recognize it as a signal, its
energy must exceed the Noise Threshold by a value given by the Hysteresis setting. In order to
prevent the AGC from jumping between noise and signal states, (which can happen when the energy
of recorded signal is very close to the Noise threshold) a non-zero hysteresis value should be chosen.
The Hysteresis feature can also be disabled.
8. Debounce Time (Noise and Signal) defines the hysteresis in time domain for noise detection. The
AGC continuously calculates the energy of the recorded signal. If the calculated energy is less than the
set Noise Threshold, then the AGC does not increase the input gain to achieve the Target Level.
However, to handle audible artifacts which can occur when the energy of the input signal is very close
to the Noise Threshold, the AGC checks if the energy of the recorded signal is less than the Noise
Threshold for a time greater than the Noise Debounce Time. Similarly the AGC starts increasing the
input-signal gain to reach the Target Level when the calculated energy of the input signal is greater
than the Noise Threshold. Again, to avoid audible artifacts when the input-signal energy is very close
to Noise Threshold, the energy of the input signal needs to continuously exceed the Noise Threshold
value for the Signal Debounce Time. If the debounce times are kept very small, then audible artifacts
can result by rapid enabling and disabling the AGC function. At the same time, if the Debounce time is
kept too large, then the AGC may take time to respond to changes in levels of input signals with
respect to Noise Threshold. Both noise and signal debounce time can be disabled.
9. The AGC Noise Threshold Flag is a read-only flag indicating that the input signal has levels lower
than the Noise Threshold, and thus is detected as noise (or silence). In such a condition the AGC
applies a gain of 0dB.
10. Gain Applied by AGC is the gain applied by the AGC to the recorded signal in a read-only register to
provide real-time feedback to the system. This value, along with the Target Setting, can be used to
detect the input signal level. In a steady state situation
Target Level (dB ) = Gain Applied by AGC (dB) + Input Signal Level (dB)
When the AGC noise threshold flag is set, then the status of gain applied by AGC should be ignored.
11. The AGC Saturation Flag is a read-only flag indicating that the ADC output signal has not reached its
Target Level. However, the AGC is unable to increase the gain further because the required gain is
higher than the Maximum Allowed PGA gain. Such a situation can happen when the input signal has
very low energy and the Noise Threshold is also set very low. When the AGC noise threshold flag is
set, the status of the AGC saturation flag should be ignored.
12. The ADC Saturation Flag is a read-only flag indicating an overflow condition in the ADC channel. On
overflow, the signal is clipped and distortion results. This condition typically happens when the AGC
Target Level is kept very high and the energy in the input signal increases faster than the Attack Time.
13. An AGC low-pass filter detects the average level of the input signal. This average level is compared
to the programmed detection levels in the AGC to provide the correct functionality. This low pass filter
is in the form of a first-order IIR filter. Three 8-bit registers form the 24-bit digital coefficient as shown
on the register map. A total of 9 registers are programmed to form the 3 IIR coefficients. The transfer
function of the filter implemented for signal level detection is given by
(2)
20
TLV320AIC3204 Application SLAA557–November 2012
Submit Documentation Feedback
Copyright © 2012, Texas Instruments Incorporated