Patent ID: 6961422

Claim:
A gain control method for acoustic echo cancellation and suppression for use with a full duplex voice terminal receiving a far-end signal from a far-end voice terminal and sending a transmit signal to the far-end voice terminal, the full duplex voice terminal having an adaptive filter, a speaker and a microphone, the method comprising: playing the far-end signal at the speaker; receiving an echo signal that is acoustically coupled from the speaker to the microphone, wherein the echo signal is a portion of the far-end signal played at the speaker; filtering the far-end signal by the adaptive filter to generate a filtered signal; calculating an error signal, wherein the error signal is the difference between the echo signal minus the filtered signal; calculating an attenuation factor, comprising: calculating a suppression value from the far-end signal, the filtered signal, the error signal and a predetermined value, smoothing the suppression value to produce a smoothed suppression value; and deriving the attenuation factor from the smoothed suppression value, wherein the attenuation factor is between the predetermined upper limit and the predetermined lower limit, converting the suppression value to a linear value, applying a predetermined smoothing factor to the linear value to produce a smoothed linear value, determining the attenuation factor between the predetermined upper limit and the predetermined lower limit, wherein when the smoothed linear value is less than the predetermined lower limit the attenuation factor is equal to the predetermined lower limit and when the smoothed linear value is greater than the predetermined upper limit the attenuation factor is equal to the predetermined upper limit and when the smoothed linear value is between the predetermined upper limit and the predetermined lower limit, the attenuation factor is equal to the smoothed linear value; and calculating the transmit signal, wherein the transmit signal is the product of the attenuation factor times the error signal.