IP Library Granted Patent US 8,175,261
Granted Patent B2
US 8,175,261 · App. 11/917,764 · Granted May 8, 2012

Systems and methods for adaptive echo cancellation

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,175,261
App. No.
11/917,764
Granted
May 8, 2012
Kind
B2
Abstract

An echo canceller comprises foreground and background filters. The background filter locates and confirms peaks, defines active regions centered about the confirmed peaks and updates coefficients of the foreground filter when the background filter is more effective than the foreground filter. A method for improved adaptive echo cancellation comprises configuring a foreground filter, calculating an echo-return loss responsive to the foreground filter, identifying the location of one or more peaks repetitively in a block of data in a background filter, confirming one or more identified peaks over a defined number of blocks before defining an active region equally about the identified peaks in the background filter, filtering the sparse impulse response responsive to the active regions, calculating an echo-return loss responsive to the background filter, and updating the foreground filter when the background filter includes a more effective set of filter coefficients.

Claims (42)

1. A method for adaptive echo cancellation, comprising:

configuring an adaptive foreground filter to apply to a block of data including a sparse impulse response to generate a foreground filtered response;

calculating an echo return loss responsive to the foreground filtered response;

identifying the location of one or more peaks repetitively in the block of data in a background filter;

confirming one or more identified peaks over a defined number of blocks before defining an active region equally about the identified peaks in the background filter;

filtering the sparse impulse response responsive to at least one active region,

calculating an echo return loss responsive to the background filtered sparse impulse response;

comparing the second echo return loss responsive to the background filter with the first echo return loss responsive to the foreground filter; and

when a peak is confirmed and when the second echo return loss exceeds the first echo return loss, replacing coefficients from the adaptive foreground filter by the coefficients from the background filter to create a modified foreground filter.

2. The method of claim 1 , wherein identifying the location of one or more peaks repetitively is responsive to a sub-band filtered and decimated signal.

3. The method of claim 1 , wherein confirming one or more identified peaks over a defined number of blocks comprises applying a modified improved proportionate normalized least-mean square (IPNLMS) algorithm.

4. The method of claim 3 , wherein the modified IPNLMS algorithm comprises populating an array of sampled peak values.

5. The method of claim 3 , wherein the modified IPNLMS algorithm comprises calculating a peak vector.

6. The method of claim 5 , wherein the modified IPNLMS algorithm comprises calculating the frequency of stored indices in the peak vector.

7. The method of claim 1 , wherein defining an active region equally about identified peaks comprises analyzing and adjusting the width of each respective active region to prevent overlapping active regions.

8. An adaptive echo canceller embodied in a non-transitory computer-readable medium that when executed by one or more processors filters sampled data, the adaptive echo canceller, comprising:

a foreground filter configured with coefficients expected to remove echo induced peaks in a sparse impulse response and calculate a first echo return loss value; and

a background filter configured to:

bandpass filter and decimate the sparse impulse response;

repetitively identify the location of one or more peaks in the sparse impulse response;

confirm one or more identified peaks over a defined number of blocks of the sparse impulse response before defining an active region equally about the one or more identified peaks such that when a peak is confirmed an adaptive normalized least-mean square algorithm is applied to filter the sparse impulse response; and

calculate a second echo return loss value responsive to the filtered sparse impulse response and

when a peak is confirmed and when the first and second echo return losses are compared, and when the second echo return loss value exceeds the first echo return loss value, coefficients in the foreground filter are replaced with one or more coefficients from the background filter to modify the foreground filter.

9. The adaptive echo canceller of claim 8 , wherein the background filter confirms one or more identified peaks by applying a modified improved proportionate normalized least-mean square (IPNLMS) algorithm.

10. The adaptive echo canceller of claim 9 , wherein the modified IPNLMS algorithm comprises populating an array of sampled peak values.

11. The adaptive echo canceller of claim 9 , wherein the modified IPNLMS algorithm comprises calculating a peak vector.

12. The adaptive echo canceller of claim 11 , wherein the modified IPNLMS algorithm comprises determining the frequency with which indices are above a threshold value in the peak vector.

13. The adaptive echo canceller of claim 8 , wherein the background filter defines an active region equally about identified peaks by analyzing and adjusting the width of each respective active region to prevent overlapping active regions.

14. The adaptive echo canceller of claim 8 , wherein the foreground filter is configured to operate in one of an adaptive mode and a fixed mode and applied to the sampled signal, the background filter is configured to operate in one of first, second, and third operational modes.

15. An adaptive echo canceller, comprising:

means for determining the effectiveness of a foreground filter at removing one or more echo induced peaks in a sparse impulse response;

means for repetitively identifying the location of a user defined number of peaks responsive to a bandpass filtered and decimated representation of the sparse impulse response;

means for storing a user defined number of peak detection vectors responsive to peaks in the representation of the sparse impulse response;

means for confirming the location of a peak responsive to the frequency of a respective element within the peak detection vectors; means for defining one or more active regions centered about respective confirmed peaks;

means for background filtering the representation of the sparse impulse response responsive to the one or more active regions;

means for determining the effectiveness of the means for background filtering at removing peaks in the representation of the sparse impulse response; and

means for comparing the effectiveness of the foreground filter to the effectiveness of the means for background filtering, wherein when the means for background filtering is more effective than the foreground filter, one or more coefficients in the foreground filter are replaced with coefficients associated with the means for background filtering to create an improved foreground filter.

16. The adaptive echo canceller of claim 15 , wherein the means for confirming the location of a peak comprises a modified improved proportionate normalized least-mean square (IPNLMS) algorithm.

17. The adaptive echo canceller of claim 16 , wherein the modified IPNLMS algorithm comprises populating an array responsive to sampled peak values.

18. The adaptive echo canceller of claim 16 , wherein the modified IPNLMS algorithm comprises calculating a peak vector.

19. The adaptive echo canceller of claim 18 , wherein the modified IPNLMS algorithm comprises determining the frequency with which indices are above a threshold value in the peak vector.

20. The adaptive echo canceller of claim 15 , wherein the means for defining active regions adjusts the width of each respective active region to prevent overlapping between adjacent active regions.

Assignments (13)
RELEASE OF SECURITY INTEREST Recorded Mar 4, 2023
From: EAST WEST BANK
To: GEO SEMICONDUCTOR INC.
Reel/Frame 062955/0700 →
SECURITY INTEREST Recorded Jul 26, 2022
From: GEO SEMICONDUCTOR INC.
To: EAST WEST BANK
Reel/Frame 060925/0979 →
RELEASE OF SECURITY INTEREST Recorded Jul 23, 2022
From: CRESCENT COVE CAPITAL II, LP
To: GEO SEMICONDUCTOR, INC.
Reel/Frame 060840/0079 →
SECURITY INTEREST Recorded May 31, 2019
From: GEO SEMICONDUCTOR INC.
To: CRESCENT COVE CAPITAL II, LP
Reel/Frame 049337/0040 →
RELEASE OF SECURITY INTEREST Recorded May 31, 2019
From: SCOTT LAKE HOLDINGS INC.
To: GEO SEMICONDUCTOR INC.
Reel/Frame 050340/0516 →
RELEASE OF SECURITY INTEREST Recorded May 31, 2019
From: ROADMAP GEO LP III
To: GEO SEMICONDUCTOR INC.
Reel/Frame 049334/0793 →
RELEASE OF SECURITY INTEREST Recorded May 24, 2019
From: BISHOPSGATE HOLDINGS CORPORATION
To: GEO SEMICONDUCTOR INC.
Reel/Frame 049286/0365 →
CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICATION NO. FROM US12027189 TO PCTUS1227189 PREVIOUSLY RECORDED ON REEL 044958 FRAME 0828. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Mar 1, 2018
From: GEO SEMICONDUCTOR INC.
To: ROADMAP GEO LP III, AS ADMINISTRATIVE AGENT
Reel/Frame 045482/0808 →
SECURITY INTEREST Recorded Dec 26, 2017
From: GEO SEMICONDUCTOR INC.
To: ROADMAP GEO LP III, AS ADMINISTRATIVE AGENT
Reel/Frame 044958/0828 →
SECURITY INTEREST Recorded Dec 20, 2017
From: GEO SEMICONDUCTOR INC.
To: SCOTT LAKE HOLDINGS INC.
Reel/Frame 044957/0529 →
SECURITY AGREEMENT Recorded Oct 23, 2013
From: GEO SEMICONDUCTOR INC
To: BISHOPSGATE HOLDINGS CORPORATION
Reel/Frame 031479/0486 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2013
From: MAXIM INTEGRATED PRODUCTS, INC.
To: GEO SEMICONDUCTOR INC.
Reel/Frame 029677/0261 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 17, 2010
From: TRINITY CONVERGENCE LIMITED
To: MAXIM INTEGRATED PRODUCTS INTERNATIONAL LIMITED
Reel/Frame 024849/0316 →