METHOD AND APPARATUS FOR ECHO CANCELLATION

Information

  • Patent Application
  • 20070189506
  • Publication Number
    20070189506
  • Date Filed
    December 12, 2006
    18 years ago
  • Date Published
    August 16, 2007
    17 years ago
Abstract
An exemplary embodiment of an echo cancellation circuit is provided, for use in a voice interaction device simultaneously outputting a remote signal while receiving a local signal. The local signal may comprise an echo generated from the remote signal. A first filter learns the remote signal at a first speed to generate a first coefficient set, and filters the local signal by the first coefficient set to generate a first filter output. A second filter learns the remote signal at a second speed to generate a second coefficient set, and filters the local signal by the second coefficient set to generate a second filter output. A third filter comprises a third coefficient set, canceling the echo from the local signal to generate a third filter output as an echo cancellation result. The controller updates the third coefficient set based on the first, second and third filter outputs.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

The invention can be more fully understood by reading the subsequent detailed description and examples with references made to the accompanying drawings, wherein:



FIG. 1 shows a conventional voice interaction device;



FIG. 2 shows an embodiment of an echo cancellation circuit;



FIG. 3 is a flowchart of an embodiment of an echo cancellation method; and



FIG. 4 is a flowchart of a coefficient determination.


Claims
  • 1. An echo cancellation circuit for a voice interaction device simultaneously outputting a remote signal while receiving a local signal, wherein the local signal comprises an echo generated from the remote signal, the echo cancellation circuit comprising: a first filter, learning the remote signal at a first speed to generate a first coefficient set, and the first coefficient set filtering the local signal to generate a first filter output;a second filter, learning the remote signal at a second speed to generate a second coefficient set, and the second coefficient set filtering the local signal to generate a second filter output; anda third filter, comprising a third coefficient set, canceling the echo from the local signal to generate a third filter output as an echo cancellation result; wherein the controller updates the third coefficient set based on the first, second and third filter outputs.
  • 2. The echo cancellation circuit as claimed in claim 1, further comprising a controller, detecting remote talk, local talk and double talk according to the remote and local signals, and adjusting the second speed based on the detection result.
  • 3. The echo cancellation circuit as claimed in claim 2, wherein: the controller detects energy levels of the first and second filter outputs; anddouble talk is detected when both energy levels of the first and second filter outputs exceed a ratio of the energy of local signal; wherein the ratio is a value between 0 and 1.
  • 4. The echo cancellation circuit as claimed in claim 2, wherein: the first and second speeds are individually determined by a first step size and a second step size;when the controller detects double talk, the controller reduces the second step size;when the controller detects no double talk, the controller increases the second step size; wherein the second step size does not exceed the first step size.
  • 5. The echo cancellation circuit as claimed in claim 4, wherein: the controller detects remote talk if the energy of remote signal exceeds a remote threshold;the controller detects local talk if the energy of local signal exceeds a local threshold;when no double talk is detected, the controller further sets the second step size by the following condition:if both remote talk and local talk exist, the controller sets the second step size to a first value lower than the first step size;if only remote talk exists, the controller sets the second step size to a second value lower than the first value; andif only local talk exists, the controller sets the second step size to a third value lower than or equal to the second value.
  • 6. The echo cancellation circuit as claimed in claim 5, wherein: the first filter is a shadow filter recursively updating the first coefficient set based on a normalized least mean square (NLMS) algorithm; andthe second filter is an adaptive filter recursively updating the second coefficient set based on the NLMS algorithm.
  • 7. The echo cancellation circuit as claimed in claim 2, wherein the controller determines whether to update the third coefficient set according to energy levels of the first, second and third filter outputs, referred to as a first, a second, and a third energy.
  • 8. The echo cancellation circuit as claimed in claim 7, wherein: if the first energy is lower than a first ratio of the third energy, and lower than the second energy, the controller copies the first coefficient set to the third coefficient set;if the second energy is lower than a second ratio of the third energy, and lower than the first energy, the controller copies the second coefficient set to the third coefficient set;otherwise the third coefficient set remains as is; andthe first and second ratios are values between 0 and 1.
  • 9. An echo cancellation method, for a voice interaction device simultaneously outputting a remote signal while receiving a local signal, wherein the local signal comprises an echo generated from the remote signal, the echo cancellation method comprising: learning the remote signal at a first speed to generate a first coefficient set;filtering the local signal by the first coefficient set to generate a first filter output;learning the remote signal at a second speed to generate a second coefficient set;filtering the local signal by the second coefficient set to generate a second filter output;providing a third coefficient set to cancel the echo from the local signal to generate a third filter output as an echo cancelled result; wherein the third coefficient set is selectively a copy of the first or second coefficient set decided by comparison of the first, second and third filter outputs.
  • 10. The echo cancellation method as claimed in claim 9, further comprising detecting remote talk, local talk and double talk according to the remote and local signals, and adjusting the second speed based on the detection result.
  • 11. The echo cancellation method as claimed in claim 10, wherein double talk detection comprises: detecting energy levels of the first and second filter outputs; anddeeming double talk as positive if both energy levels of the first and second filter outputs exceed a ratio of the energy of local signal; wherein the ratio is a value between 0 and 1.
  • 12. The echo cancellation method as claimed in claim 10, wherein: the first and second learning speeds are individually determined by a first step size and a second step size; andthe echo cancellation method further comprising: when double talk is detected, reducing the second step size;when no double talk is detected, increasing the second step size; wherein the second step size does not exceed the first step size.
  • 13. The echo cancellation method as claimed in claim 12, further comprising: detecting remote talk if the energy of remote signal exceeds a remote threshold;detecting local talk if the energy of local signal exceeds a local threshold; andwhen no double talk is detected, setting the second step size by: if both the remote talk and local talk exist, setting the second step size to a first value lower than the first step size;if only the remote talk exists, setting the second step size to a second value lower than the first value; andif only the local talk exists, setting the second step size to a third value lower than or equal to the second value.
  • 14. The echo cancellation method as claimed in claim 13, further comprising recursively updating the first and second coefficient sets based on a normalized least mean square (NLMS) algorithm.
  • 15. The echo cancellation method as claimed in claim 9, further comprising determining whether to update the third coefficient set according to energy levels of the first, second and third filter outputs, referred to as a first, a second, and a third energy.
  • 16. The echo cancellation method as claimed in claim 15, further comprising: if the first energy is lower than a first ratio of the third energy, and lower than the second energy, copying the first coefficient set to the third coefficient set;if the second energy is lower than a second ratio of the third energy, and lower than the first energy, copying the second coefficient set to the third coefficient set; andotherwise leaving the third coefficient set as is; whereinthe first and second ratios are values between 0 and 1.
Provisional Applications (1)
Number Date Country
60762752 Jan 2006 US