A method of adjusting an echo canceller comprises obtaining a first
cross-correlation between a far-end signal and an error signal, wherein
the error signal is generated by subtracting an output signal of an
adaptive filter from a local-end signal; determining whether the first
cross-correlation is above a pre-determined threshold; relocating the
adaptive filter by a few samples if the determining determines that the
first cross-correlation is above a pre-determined threshold; calculating
a first improvement indicator parameter, wherein the first improvement
indicator parameter is calculated after the relocating the adaptive
filter by the few samples; determining whether the first improvement
indicator parameter indicates a performance improvement by the adaptive
filter after the relocating the adaptive filter by the few samples;
calculating a gain based on the local-end signal and the error signal if
the determining does not determine the performance improvement; and
multiplying the adaptive filter by the gain.