Claims
- 1. A method for performing echo cancellation, comprising:
performing adaptive filtering for the purpose of eliminating echo; estimating pure delay concurrently with said step of performing adaptive filtering; and selectively using the pure delay to adjust a position of an adaptive filter window.
- 2. The method as claim 1, wherein the step of performing adaptive filtering is performed at a first rate, the step of estimating pure delay is performed at a second rate, and the first rate is greater than or equal to the first rate.
- 3. The method as claim 1, wherein the step of estimating pure delay comprises:
performing adaptive filtering for the purpose of estimating pure delay.
- 4. The method as claim 1, wherein the step of performing adaptive filtering comprises a first algorithm and the step of estimating pure delay comprises a second algorithm, and wherein the first algorithm is different than the second algorithm.
- 5. The method as claim 4, wherein the first algorithm is numerically stable.
- 6. The method as claim 5, wherein the second algorithm is numerically stable.
- 7. The method as in claim 1, wherein the step of estimating pure delay comprises:
selectively providing a training signal if a predetermined criterion is met.
- 8. The method as in claim 1, wherein an energy level of the training signal is at least 10 decibels below an average voice energy level.
- 9. The method as in claim 1, wherein a bandwidth of the training signal multiplied by a decimation rate used in the adaptive filtering for the purpose of estimating pure delay is approximately equal to half of a sample rate used in the adaptive filtering for the purpose of eliminating echo.
- 10. The method as in claim 1, wherein the step of performing adaptive filtering comprises:
halting adaptation upon detection of an unfavorable signal condition.
- 11. The method as in claim 10, wherein the unfavorable signal condition comprises near-end signal activity.
- 12. The method as in claim 10, wherein the unfavorable signal condition comprises doubletalk.
- 13. The method as in claim 10, wherein the unfavorable signal condition comprises an incoming signal having an energy below a predetermined threshold.
- 14. A method for performing echo cancellation, comprising:
determining individual estimated delay values; and performing non-linear filtering of the individual estimated delay values to produce a pure delay; and selectively using the pure delay to adjust a position of an adaptive filter window; and performing adaptive filtering for the purpose of eliminating echo.
- 15. The method as claim 14, wherein the step of performing non-linear filtering comprises:
partitioning the individual estimated delay values into an initial portion and a non-initial portion based on time.
- 16. The method as claim 15, wherein the step of performing non-linear filtering further comprises:
performing non-linear filtering faster on the initial portion than on the non-initial portion.
- 17. The method as claim 15, further comprises:
determining if a quality of the adaptive filtering meets a predetermined level for the non-initial portion; while the quality of the adaptive filtering meets the predetermined level for the non-initial portion, ceasing to perform the step of determining individual estimated delay values, the step of determining individual estimated delay values, and the step of performing non-linear filtering; and if the quality of the adaptive filtering fails to meet the predetermined level for the non-initial portion, resuming the step of determining individual estimated delay values, the step of determining individual estimated delay values, and the step of performing non-linear filtering.
- 18. The method as claim 14, wherein the step of performing non-linear filtering comprises:
calculating dispersion of the individual estimated delay values.
- 19. The method as claim 18, wherein the step of performing non-linear filtering further comprises:
comparing the dispersion of the individual estimated delay values to a predetermined threshold value.
- 20. The method as claim 14, wherein the step of performing non-linear filtering comprises:
calculating an average of the individual estimated delay values.
- 21. The method as claim 20, wherein the step of performing non-linear filtering further comprises:
comparing the average of the individual estimated delay values to a predetermined threshold value.
- 22. The method as claim 20, wherein the step of performing non-linear filtering further comprises:
calculating a difference between the average of the individual estimated delay values and a previous average of the individual estimated delay values; comparing the difference to a predetermined difference threshold value; and selecting the predetermined difference threshold value based upon a direction of change of the pure delay.
- 23. The method as claim 14, further comprising:
selectively discarding individual estimated delay values based upon a predetermined criterion before performing the step of non-linear filtering.
- 24. The method as in claim 14, further comprising:
fine-tuning the pure delay based on a search of a position of a maximum value of a plurality of adaptive filter coefficients.
- 25. An echo canceller, comprising:
a first adaptive filter for eliminating echo; and a monitor and control unit, coupled to the first adaptive filter, the monitor and control unit comprising a second adaptive filter for estimating pure delay, wherein the pure delay is used to adjust a position of an adaptive filter window of the first adaptive filter, and wherein the second adaptive filter comprises a non-linear filter for filtering individual estimated delay values to produce the pure delay.
RELATED APPLICATIONS
[0001] This is related to United States Patent Application having attorney docket number SC12026TS, filed on even date, and entitled “Monitoring and control of an Adaptive Filter in a Communication System,” United States Patent Application having attorney docket number SC1977TS, filed on even date, and entitled “Method and Apparatus for Non-Linear Processing of an Audio Signal,” United States Patent Application having attorney docket number SC11993TS, filed on even date, and entitled “Method and Apparatus for Tone Indication,” and United States Patent Application having attorney docket number SC12107TS, filed on even date, and entitled “Method and Apparatus for Performing Adaptive Filtering,” all of which are assigned to the current assignee hereof.