Residual Echo Suppression is a necessary component of an Acoustic Echo Cancellation (AEC) solution. Due to the non-linear artifacts, channel noise and time variance in the impulse response, there will always be some of amount residual echo after the adaptive filter.  To improve the convergence speed, and the modeling of the adaptive filter, AEC is most often performed in the frequency domain via a subband transformation.  Performing AEC in the frequency domain creates a series of independent adaptive filters.  The output of each adaptive filter will have their own residual echo.  Therefore, a residual echo suppression solution will also need to be frequency dependent.

subband residual echo suppression block diagram

One potential solution for a frequency-based gain function is: G\left(f\right)=\ \frac{S_{ey(f)}}{S_{ey(f)}+\alpha S_{dd(f)}}

Where Sey(f) is the cross spectral density of the error signal and the microphone signal. Sdd(f) is the power spectral density of the estimated echo.  In an echo only scenario, there is a large estimated echo. Thus, Sdd(f) will be large and the Sey(f) will be relatively small, G(f) -> 0, (more suppression). In the near-end only scenario, Sdd(f) will be small, Sey(f) will be relatively large, G(f) -> 1.  During double-talk, the gain function will be between 0 and 1.  The frequency dependent gain function is ideal for the double-talk scenario because the echo to near-end ratio differs for different frequencies.  Therefore, the amount of suppression that should be applied needs to match accordingly.