IP Library Granted Patent US 8,515,055
Granted Patent B2
US 8,515,055 · App. 12/530,269 · Granted Aug 20, 2013

Adaptive filtering with flexible selection of algorithm complexity and performance

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,515,055
App. No.
12/530,269
Granted
Aug 20, 2013
Kind
B2
Abstract

An adaptive filter configured to use multiple algorithm species that differ in the quality of echo suppression and respective burdens imposed on the computational resources of the host communication device. Depending on the available computational budget, the adaptive filter selects an algorithm species that, while supporting a relatively high quality of echo suppression, involves a relatively low risk of overwhelming the computational resources. The adaptive filter monitors changes in the available computational budget and, if appropriate or necessary, can change the algorithm species to maintain a quality of echo suppression that is optimal for the current computational budget. If a change of the algorithm species is initiated, then at least a portion of internal algorithm data from the previously running algorithm species might be transferred for use in the subsequent algorithm species.

Claims (65)

1. A device, comprising:

an algorithm module having a plurality of algorithm species, each adapted to suppress echo in a communication signal; and

a selector module operatively coupled to the algorithm module and adapted to:

select a first algorithm species from said plurality based on an available computational budget;

configure the algorithm module to run the first algorithm species to perform said echo suppression;

detect a change in the available computational budget;

select a second algorithm species from said plurality based on the detected change in the available computational budget; and

reconfigure the algorithm module to run the second, instead of the first, algorithm species to perform said echo suppression, wherein:

the first algorithm species has a first projection order;

the second algorithm species has a second projection order different from the first projection order by a value of one, with both the first projection order and the second projection order being positive integers; and

wherein the algorithm module is adapted to transfer at least a portion of internal algorithm data generated by the first algorithm species for use in the run of the second algorithm species.

2. The device of claim 1 , wherein the internal algorithm data comprises at least one of: an autocorrelation vector or matrix, a forward-prediction-coefficients vector, a de-correlation filter, and a backward-prediction-coefficients vector.

3. The device of claim 1 , wherein the plurality of algorithm species comprises at least two algorithm species whose projection orders differ by a value that is greater than one.

4. The device of claim 3 , wherein a number of taps is fixed within said plurality of algorithm species.

5. The device invention of claim 1 , wherein:

the plurality of algorithm species comprises a normalized least mean square (NLMS) algorithm having a projection order of one;

the selector module is further adapted to reconfigure the algorithm module to run the NLMS algorithm instead of the second algorithm species to perform said echo suppression, without running any other algorithm species of the plurality between the second algorithm species and the NLMS algorithm; and

the second projection order is greater than two.

6. The device of claim 1 , wherein:

the second projection order is smaller than the first projection order; and

to perform the transfer, the algorithm module is configured to perform one or more of the following:

shrink an autocorrelation matrix generated by the first algorithm species by removing a row and a column from said autocorrelation matrix;

reduce a length of an error vector generated by the first algorithm species by removing an element from said error vector;

reduce a length of a forward-prediction-coefficients vector generated by the first algorithm species by removing an element from said forward-prediction-coefficients vector;

reduce a length of a backward-prediction-coefficients vector generated by the first algorithm species by removing an element from said backward-prediction-coefficients vector;

reduce a length of a de-correlated error vector generated by the first algorithm species by removing an element from said de-correlated error vector; and

reduce a length of a de-correlation filter generated by the first algorithm species by removing an element from said de-correlation filter.

7. The device of claim 1 , wherein:

the second projection order is greater than the first projection order; and

to perform the transfer, the algorithm module is configured to perform one or more of the following:

enlarge an autocorrelation matrix generated by the first algorithm species by calculating missing autocorrelation values for an additional row and an additional column;

increase a length of an error vector generated by the first algorithm species by padding said error vector with a zero element;

increase a length of a forward-prediction-coefficients vector generated by the first algorithm species by padding said forward-prediction-coefficients vector with a zero element;

increase a length of a backward-prediction-coefficients vector generated by the first algorithm species by padding said backward-prediction-coefficients vector with a zero element;

increase a length of a de-correlated error vector generated by the first algorithm species by padding said de-correlated error vector with a zero element; and

increase a length of a de-correlation filter generated by the first algorithm species by padding said de-correlation filter with a zero element.

8. A method of adaptive filtering, comprising the steps of:

based on an available computational budget, selecting a first algorithm species from a plurality of algorithm species, each adapted to suppress echo in a communication signal of a communication device;

configuring the communication device to run the first algorithm species to perform said echo suppression;

detecting a change in the available computational budget;

selecting a second algorithm species from said plurality based on the detected change in the available computational budget; and

reconfiguring the communication device to run the second, instead of the first, algorithm species to perform said echo suppression, wherein:

the first algorithm species has a first projection order;

the second algorithm species has a second projection order different from the first projection order by a value of one, with both the first projection order and the second projection order being positive integers; and

the step of reconfiguring comprises transferring at least a portion of internal algorithm data generated by the first algorithm species for use in running the second algorithm species.

9. The method of claim 8 , wherein the internal algorithm data comprises at least one of: an autocorrelation vector or matrix, a forward-prediction-coefficients vector, a de-correlation filter, and a backward-prediction-coefficients vector.

10. The method of claim 8 , wherein the plurality of algorithm species comprises at least two algorithm species whose projection orders differ by a value that is greater than one.

11. The method of claim 8 , wherein:

the second projection order is smaller than the first projection order; and

the step of transferring comprises one or more of:

shrinking an autocorrelation matrix generated by the first algorithm species by removing a row and a column from said autocorrelation matrix;

reducing a length of an error vector generated by the first algorithm species by removing an element from said error vector;

reducing a length of a forward-prediction-coefficients vector generated by the first algorithm species by removing an element from said forward-prediction-coefficients vector;

reducing a length of a backward-prediction-coefficients vector generated by the first algorithm species by removing an element from said backward-prediction-coefficients vector;

reducing a length of a de-correlated error vector generated by the first algorithm species by removing an element from said de-correlated error vector; and

reducing a length of a de-correlation filter generated by the first algorithm species by removing an element from said de-correlation filter.

12. The method of claim 8 , wherein:

the second projection order is greater than the first projection order; and

the step of transferring comprises one or more of:

enlarging an autocorrelation matrix generated by the first algorithm species by calculating missing autocorrelation values for an additional row and an additional column;

increasing a length of an error vector generated by the first algorithm species by padding said error vector with a zero element;

increasing a length of a forward-prediction-coefficients vector generated by the first algorithm species by padding said forward-prediction-coefficients vector with a zero element;

increasing a length of a backward-prediction-coefficients vector generated by the first algorithm species by padding said backward-prediction-coefficients vector with a zero element;

increasing a length of a de-correlated error vector generated by the first algorithm species by padding said de-correlated error vector with a zero element; and

increasing a length of a de-correlation filter generated by the first algorithm species by padding said de-correlation filter with a zero element.

Assignments (5)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AT REEL/FRAME NO. 32856/0031 Recorded May 29, 2015
From: DEUTSCHE BANK AG NEW YORK BRANCH
To: LSI CORPORATION
Reel/Frame 035797/0943 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2015
From: LSI CORPORATION
To: INTEL CORPORATION
Reel/Frame 035090/0477 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2009
From: MAZURENKO, IVAN LEONIDOVICH; ALESHIN, STANISLAV VLADIMIROVICH; BABIN, DMITRY NIKOLAEVICH; LYALIN, ILYA VIKTOROVICH; NIKITIN, ANDREY ANATOLEVICH; PARFENOV, DENIS VASSILEVICH
To: LSI CORPORATION
Reel/Frame 023201/0277 →