Methods and systems for echo cancellation are provided. According to one
method, when a far end signal with an echo having a major body and a pure
delay portion is received, a filter having a finite length is provided.
Once the finite length filter covers a portion of an echo path, the method
includes determining whether at least a portion of the echo major body is
within the filter. In one embodiment, the filter is divided into a
plurality of sub-windows, and the step of determining whether the filter
covers the major body of the echo path includes using filter coefficients
of the first sub-window. According to one embodiment, the major body of
the echo path is detected by comparing a maximum value coefficient in the
first sub-window with a predetermined threshold value. If the maximum
value coefficient is greater than the threshold value, the major body is
detected. If the major body is not detected in the first sub-window, the
filter is shifted towards the major body portion of the echo path, and the
step of determining whether the filter covers the echo major body is
repeated.