# US 7,613,291 B1 · Echo path change detection using dual sparse filtering

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 7,613,291 B1
- Document ID: US7613291B1
- Status: Granted
- Kind: B1
- Application number: 11/201,637
- Filed: 2005-08-10
- Granted: 2009-11-03
- Earliest claimed: 2005-08-10
- Assignees: Mindspeed Technologies, Inc.
- Inventors: Adil Benyassine; Carlo Murgia
- Web page: https://patentgrep.com/patent/US7613291B1

## CPC

- H04B 3/237: {using two adaptive filters, e.g. for near end and for end echo cancelling}
- H04B 3/234: {using double talk detection}
- H04B: TRANSMISSION

## Abstract

There is provided a method for use by an echo canceller to detect an echo path change and adjust to the echo path change. The method comprises determining a first bulk delay using a SPARSE foreground adaptive filter; configuring the foreground adaptive filter to an open-loop mode; canceling the echo signal based on the first bulk delay using the foreground adaptive filter; determining a second bulk delay of the echo signal using a SPARSE background adaptive filter; configuring the foreground adaptive filter to a closed-loop mode and continuing to cancel the echo signal based on the first bulk delay; configuring the background adaptive filter to the open-loop mode; measuring echo cancellation performance of the foreground adaptive filter and the background adaptive filter; and changing parameters of the foreground adaptive filter if the echo cancellation performance of the background adaptive filter is better than the foreground adaptive filter.

## Claims

### Claim 1

A method for use by an echo canceller having a foreground adaptive filter and a background adaptive filter to detect an echo path change and adjust to said echo path change, said method comprising:
determining a first bulk delay of an echo signal using said foreground adaptive filter, said foreground adaptive filter being a SPARSE filter;
configuring said foreground adaptive filter to an open-loop mode;
canceling said echo signal from a local-end signal based on said first bulk delay using said foreground adaptive filter, wherein canceling said echo signal from said local-end signal generates an error signal;
feeding said error signal to both said foreground adaptive filter and said background adaptive filter;
determining a second bulk delay of said echo signal using said background adaptive filter, said background adaptive filter being a SPARSE filter;
configuring said foreground adaptive filter to a closed-loop mode and continuing to cancel said echo signal from said local-end signal based on said first bulk delay;
configuring said background adaptive filter to said open-loop mode;
measuring an echo cancellation performance of said foreground adaptive filter and an echo cancellation performance of said background adaptive filter; and
changing parameters of said foreground adaptive filter if said measuring determines that said echo cancellation performance of said background adaptive filter is better than said echo cancellation performance of said foreground adaptive filter.

### Claim 2 (depends on 1)

The method of claim 1, wherein said changing said parameters includes copying one or more parameters of said background adaptive filter into respective one or more parameters of said foreground adaptive filter.

### Claim 3 (depends on 1)

The method of claim 1, wherein said changing said parameters includes:
determining a third bulk delay of the echo signal using said foreground adaptive filter;
configuring said foreground adaptive filter to said open-loop mode to determine new parameters for said foreground adaptive filter; and
configuring said foreground adaptive filter to said closed-loop mode to update said new parameters.

### Claim 4 (depends on 1)

The method of claim 1, wherein said background adaptive filter is updated more aggressively in presence of a double talk detection than said foreground adaptive filter.

### Claim 5 (depends on 1)

The method of claim 1 further comprising:
moving said foreground adaptive filter to a downsample domain prior to said determining said first bulk delay; and
moving said foreground adaptive filter to a regular domain for canceling said echo signal from said local-end signal based on said first bulk delay.

### Claim 6 (depends on 1)

The method of claim 1 further comprising:
moving said background adaptive filter to a downsample domain prior to said determining said second bulk delay.

### Claim 7 (depends on 1)

The method of claim 1, wherein said background adaptive filter operates in said open-loop mode only.

### Claim 8 (depends on 1)

The method of claim 1, wherein said measuring measures an echo return loss enhancement (ERLE) of said foreground adaptive filter and an ERLE of said background adaptive filter.

### Claim 9 (depends on 1)

The method of claim 1 further comprising:
determining a third bulk delay of said echo signal using said background adaptive filter if said measuring determines that said echo cancellation performance of said foreground adaptive filter is better than said echo cancellation performance of said background adaptive filter.

### Claim 10 (depends on 1)

The method of claim 1 further comprising:
determining a third bulk delay of said echo signal using said background adaptive filter if said measuring determines that said foreground adaptive filter and/or said background adaptive filter are performing badly.

### Claim 11 (depends on 10)

The method of claim 10, wherein said third bulk delay is indicative of said echo path change.

### Claim 12 (depends on 1)

The method of claim 1, wherein said determining said second bulk delay occurs prior to configuring said foreground adaptive filter to said closed-loop mode.

### Claim 13

An echo canceller capable of detecting an echo path change and adjusting to said echo path change, said echo canceller comprising:
a foreground adaptive filter configured to determine a first bulk delay of an echo signal, wherein said foreground adaptive filter is a SPARSE filter, and wherein said foreground adaptive filter is further configured to an open-loop mode, cancels said echo signal from a local-end signal based on said first bulk delay and generates an error signal, and wherein said foreground adaptive filter is configured to a closed-loop mode after being configured to said open-loop mode, and wherein said foreground adaptive filter continues to cancel said echo signal from said local-end signal based on said first bulk delay in said closed-loop mode; and
a background adaptive filter configured to determine a second bulk delay of said echo signal, wherein said background adaptive filter is a SPARSE filter, and wherein said background adaptive filter is further configured to said open-loop mode after determining said second bulk delay;
wherein said error signal is fed to both said foreground adaptive filter and said background adaptive filter, and wherein said echo canceller measures an echo cancellation performance of said foreground adaptive filter and an echo cancellation performance of said background adaptive filter, and changes parameters of said foreground adaptive filter if said echo canceller determines that said echo cancellation performance of said background adaptive filter is better than said echo cancellation performance of said foreground adaptive filter.

### Claim 14 (depends on 13)

The echo canceller of claim 13, wherein said echo canceller changes said parameters by copying one or more parameters of said background adaptive filter into respective one or more parameters of said foreground adaptive filter.

### Claim 15 (depends on 13)

The echo canceller of claim 13, wherein said echo canceller changes said parameters by:
determining a third bulk delay of the echo signal using said foreground adaptive filter;
configuring said foreground adaptive filter to said open-loop mode to determine new parameters for said foreground adaptive filter; and
configuring said foreground adaptive filter to said closed-loop mode to update said new parameters.

### Claim 16 (depends on 13)

The echo canceller of claim 13, wherein said background adaptive filter is updated more aggressively in presence of a double talk detection than said foreground adaptive filter.

### Claim 17 (depends on 13)

The echo canceller of claim 13, wherein said foreground adaptive filter determines said first bulk delay in a downsample domain, and wherein said foreground adaptive filter moves to a regular domain for canceling said echo signal from said local-end signal based on said first bulk delay.

### Claim 18 (depends on 13)

The echo canceller of claim 13, wherein said background adaptive filter determines said second bulk delay in a downsample domain.

### Claim 19 (depends on 13)

The echo canceller of claim 13, wherein said background adaptive filter operates in said open-loop mode only.

### Claim 20 (depends on 13)

The echo canceller of claim 13, wherein said echo canceller measures an echo return loss enhancement (ERLE) of said foreground adaptive filter and an ERLE of said background adaptive filter.

### Claim 21 (depends on 13)

The echo canceller of claim 13, wherein said background adaptive filter determines a third bulk delay of said echo signal if said echo canceller determines that said echo cancellation performance of said foreground adaptive filter is better than said echo cancellation performance of said background adaptive filter.

### Claim 22 (depends on 13)

The echo canceller of claim 13, wherein said background adaptive filter determines a third bulk delay of said echo signal if said echo canceller determines that said foreground adaptive filter and/or said background adaptive filter are performing badly.

### Claim 23 (depends on 22)

The echo canceller of claim 22, wherein said third bulk delay is indicative of said echo path change.

### Claim 24 (depends on 13)

The echo canceller of claim 13, wherein said echo background adaptive filter determines said second bulk delay prior to said foreground adaptive filter is configured to said closed-loop mode.
