SBAA492A September   2021  – April 2022 PCM3120-Q1 , PCM5120-Q1 , PCM6120-Q1 , TLV320ADC3120 , TLV320ADC5120 , TLV320ADC6120

 

  1.   Trademarks
  2. 1Introduction
  3. 2Automatic Gain Control
    1. 2.1 High Pass Filter
    2. 2.2 AGC Parameters
  4. 3AGC Results
    1. 3.1 Normal AGC Mode
    2. 3.2 Enhanced AGC mode
  5. 4Examples
  6. 5Related Documentation
  7.   A Revision History

High Pass Filter

To remove any DC offset that leads to incorrect input level estimates, the AGC algorithm processes the input signal through a high-pass filter. This HPF is exclusive to the AGC, and is different from the second-order HPF filters used by the decimation filters.

The transfer function implemented by the high-pass filter is given by Equation 1.

Equation 1. GUID-4AE27534-4F37-4A76-A02F-5A3468F6574F-low.gif

The HPF is a first-order filter implemented using three coefficients: AGC_HPF_B0, AGC_HPF_B1, and AGC_HPF_A1. The transfer function parameters (N0, N1, and D1) are converted to coefficients using Equation 2, Equation 3, and Equation 4.

Equation 2. GUID-0B28FF63-6357-4ACA-BF57-716C12940E63-low.gif
Equation 3. GUID-A89CDE3B-3D2D-4469-B870-D1418C126B89-low.gif
Equation 4. GUID-5928FB4D-2335-4926-9694-ADDB5F572BDE-low.gif

These coefficients are user-programmable to set a different cutoff frequency from the default cutoff (-3 dB) of 100 Hz for a 48 kHz sample rate. Increasing the cutoff frequency results in faster settling of signal-level estimates, while decreasing the cutoff frequency improves the accuracy of the signal-level estimate. The default filter coefficients provide a good balance between speed and accuracy, and are suitable for most applications. Table 2-2 shows the coefficient registers. The coefficients are represented in 2s-complement, 32-bit format.

Table 2-2 Programmable Coefficient Registers for High Pass Filter
COEFFICIENT PAGE REGISTER RESET VALUE DESCRIPTION
AGC_HPF_B0 0x06 0x78 0x7F AGC_HPF_B0 Byte[31:24]
0x06 0x79 0x7F AGC_HPF_B0 Byte[23:16]
0x06 0x7A 0xD2 AGC_HPF_B0 Byte[15:8]
0x06 0x7B 0xB4 AGC_HPF_B0 Byte[7:0]
AGC_HPF_B1 0x06 0x7C 0x80 AGC_HPF_B1 Byte[31:24]
0x06 0x7D 0x80 AGC_HPF_B1 Byte[23:16]
0x06 0x7E 0x2D AGC_HPF_B1 Byte[15:8]
0x06 0x7F 0x4C AGC_HPF_B1 Byte[7:0]
AGC_HPF_A1 0x07 0x08 0x7E AGC_HPF_A1 Byte[31:24]
0x07 0x09 0xFF AGC_HPF_A1 Byte[23:16]
0x07 0x0A 0xA5 AGC_HPF_A1 Byte[15:8]
0x07 0x0B 0x68 AGC_HPF_A1 Byte[7:0]