Patent ID: 7050575

Claim:
A method for canceling echo for a communications device comprising: storing an existing coefficient set; periodically calculating a trial filter coefficient set; processing an echo-containing signal over a predetermined time period using the existing filter coefficient set to provide a first echo-canceled output signal; processing the echo-containing signal over the predetermined time period using the trial filter coefficient set to provide a trial echo-canceled output signal; calculating a first energy value of the first echo-canceled output over the predetermined time period; calculating a trial energy value of the trial echo-canceled output over the predetermined time period; determining if the echo-containing signal is dominated by echo, comprising capturing a predetermined number of samples of an echo-causing signal and the echo-containing signal over the predetermined time period; calculating a correlation function between the echo-containing signal and the echo-causing signal over a correlation window; calculating a first value using the correlation function over a portion of the correlation window where echo is expected; calculating a second value using the correlation function over a portion of the correlation window where no echo is expected, wherein the second value is a baseline value and calculating the baseline value comprises calculating a Root Mean Square value of the correlation function over the portion of the correlation window where no echo is expected; and computing a status indicator as a function of the first value and the second value, the status indicator used for determining whether the echo-containing signal is dominated by echo; and updating the existing filter coefficient set with the trial coefficient set where the echo-containing signal is dominated by echo and the trial energy is less than the first energy.