Not Applicable
Not Applicable
1. Technical Field
This invention relates in general to telecommunication circuits and, more particularly, to a double-talk detector for an acoustic echo canceller.
2. Description of the Related Art
In telephone communication, and particularly in mobile phones, the clarity of a conversation is of significant importance. There are many factors that contribute to unintended noise during a conversation; one primary factor is echoing.
The multiple reflections at the near end are transmitted back to the far end. Thus, the user at the far end hears his voice delayed and distorted by the communication channel—this is known as the echo phenomenon. The longer the channel delay and the more powerful the reflections, the more annoying the echo becomes in the far end, until it makes the natural conversation impossible.
In operation, the AEC 14 is an adaptive finite impulse response (AFIR) filter which mathematically mimics the echo channel. Thus, as shown in
The AEC 14 is an adaptive filter. The echo compensated signal e(n) is fed back to the AEC 14. The AEC 14 adjusts the weights (also referred to as “taps” or “coefficients”) of the mathematical model Ĥ(z) responsive to the feedback to more closely conform to the actual acoustics of the echo channel. Methods of updating the weights are well known in the art, such as NLMS (Normalized Least Mean Square) adaptation or AP (Affine Projection) algorithm. Theoretically, the acoustic echo cancellation problem can be seen as the identification and the tracking of an unknown time varying system.
However, when the near end speaker and the far end speaker are talking at the same time, the adaptation of the AEC 14 is disturbed because the near end signal is uncorrelated with the far end signal. Consequently, the adaptive digital linear filter diverges far from the actual impulse response of the system echo channel H(z) and the AEC 14 no longer efficiently removes the echo in the uplink. Moreover, the near end speech signal is distorted by ŷ(n) and the quality of the communication is highly degraded by the AEC 14.
A system of the type shown in
Another solution in the time domain, shown in U.S. Pat. No. 6,570,986, uses multiple filters and selects one or the other filter from which to calculate a squared norm from an entire filter weight vector, depending upon the current state.
The prior art methods are processing intensive and subject to errant detections as the phone is moved. Therefore a need has arisen for an efficient and accurate method and apparatus for echo cancellation in view of double talk situations.
In a first aspect of the present invention, wherein a far end signal received by a telephonic device is acoustically coupled to a near end signal transmitted by the telephonic device, echo noise is canceled by generating a first echo cancellation signal from the far end signal in an adaptive impulse response filter and generating a second echo cancellation signal from the far end signal in a non-adaptive impulse response signal using weights received from the adaptive impulse response filter. Either a single talk state or a double talk state is detected in the near end signal and either the first echo cancellation signal or the second cancellation signal is applied to the near end signal responsive to the detected state.
This aspect of the invention allows the adaptive filter to remain adaptive and divergent during double talk periods for simplified determination of double talk situations using the weights of the adaptive IR filter.
In a second aspect of the present invention, wherein a far end signal received by a telephonic device is acoustically coupled via an echo path to a near end signal transmitted by the telephonic device, a double talk state is detected by generating a first echo cancellation signal from the far end signal in an adaptive impulse response filter, wherein said adaptive impulse response filter has weights that are modified responsive to an echo compensated signal mixing the near end signal with the first echo cancellation signal. An approximation of an impulse response energy gradient using a portion of the weights is calculated and a detection signal indicating either a double talk or a single talk state is generated responsive to the approximation.
This aspect of the invention provides for determination of double talk situations using simplified mathematical and logical operations conducive to implementation by a DSP (digital signal processor). Also, this aspect of the invention discriminates between double talk situations and echo path variations, where divergence between the adaptive filter weights and an accurate echo path model occur due to changes in the echo path.
For a more complete understanding of the present invention, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which:
The present invention is best understood in relation to
In operation, filter 22 operates adaptively, i.e., responsive to e(n), regardless of whether a single talk or double talk situation exist. DTD 26 continuously calculates a decision signal based solely on the weight components of the weight vector of filter 22 to determine whether the present state is of v(n) is single talk or double talk. During single talk periods, d(n) is set to select e(n) for output and, periodically, the weight vector of filter 22 is stored to filter 24. During double talk periods, d(n) is set to select {tilde over (e)}(n) for output; during this time the weight vector for filter 24 is static; but the weight vector for filter 22 will continue to be adaptive to e(n), and, hence, diverging due to the double talk. Thus, during double talk situations, {tilde over (H)}(z) is static at the point of the last transfer of a weight vector from Ĥ(z). When DTD 26 detects a transition from a double talk situation to a single talk situation, the weight vector from filter 24 is stored in filter 22 to return Ĥ(z) to a value which should be close to H(z).
As discussed above, the DTD 26 uses the IR energy gradient from AEC filter 22 to detect double talk situations. In the preferred embodiment, the DTD 26 uses only the second-half IR weights (i.e., the higher order weights) to perform the detection function. An energy gradient is approximated using a differential method and its absolute value is subjected to a low-pass iterative IIR (infinite impulse response) filter. The double talk decision is then made through a comparison between the decision signal and a predefined threshold. An embodiment for performing the detection is given below.
In the following equations, ĥ(n) is the AEC IR weight vector corresponding to the transfer function Ĥ(z), computed at the sampling time tn=t0+nTe, where the initial time is t0 and the sampling period is Te.
ĥ(n)=[ĥ0, . . . ,ĥN−1]T∈z,900N×1, where N is the AEC IR length and z,900N×1 denotes the real values in a vector of length N.
The AEC second-half IR energy at iteration n is computed as:
The AEC IR gradient energy at iteration n is approximated using the differential energy with iteration n−1:
γĥ(n)=|εĥ(n)−εĥ(n−1)|
The approximate gradient γĥ is low-pass filtered to obtain the double-talk detector decision signal δ:
δ(n)=λδ(n−1)+(1−λ)γĥ(n), with λ being a constant forgetting factor, generally between the values of 0.9 and 0.99 that allows the low pass filtering to be implemented in an iterative manner.
The double talk decision, d(n) at iteration n is decided using a comparison between the signal values βδ(n), where β is a gain factor, with a predefined decision threshold θ according to:
An example of the AEC output, AEC IR energy gradient and double talk decision are shown in
The uplink signal, x(n), is selected from either the AEC IR filter 22 or the static auxiliary filter 24 dependent upon d(n):
Because the DTD 26 approximates the energy gradient along the time dimension of the impulse response energy along the taps dimension, rather than the full gradient energy, the computations needed to compute the double talk decision has a low computation complexity, using only multiply, accumulate and logical operations. The embodiment described above does not need the near end signal or far end signal to detect double talk situations. Further, the complexity of computation is reduced by using only the second half of the AEC IR weight vector. More complex operations, such as divisions and matrix inversions, are not necessary. This lends the computation to a DSP (digital signal processor) fixed point implementation. Further, the computation can be implemented in both sample-to-sample and block processing.
While described in connection with an NLMS adaptive IR filter, the embodiment could be used with LMS (Least Mean Square), AP (Affine Projection), or other filter in the temporal domain using an IR computation.
The various components of the AEC system 20, including AEC filter 22, auxiliary filter 24, DTD 26 and mixers 16a and 16b can be implemented as multiple tasks on a single DSP.
In tests using a recorded database with artificial and real speech signals and propagation in real reverberant environments, the embodiment has shown to be noise resistant within a 5 to 20 db signal-to-noise ratio in both the uplink and the downlink. Also, this embodiment has the ability to discriminate between double-talk situations and echo path variations (EPVs). In an EPV, the echo path has changed, because the phone has moved, and thus Ĥ(z) must be modified to accommodate the new H(z). However, if an EPV is mistakenly etected as a double talk situation, the AEC filter 14 will be frozen (prior art) or the static auxiliary filter 24 is used for echo cancellation as described in connection with
Using the detection method described above, where only the second half of the AEC impulse response along the time dimension is used, EPVs are not generally mistaken for double talk situations, since an EPV generally affects the first half of the AEC impulse response along the time dimension, i.e.,
while a double talk situation affects all the impulse response along the taps dimension (as shown in
Although the Detailed Description of the invention has been directed to certain exemplary embodiments, various modifications of these embodiments, as well as alternative embodiments, will be suggested to those skilled in the art. The invention encompasses any modifications or alternative embodiments that fall within the scope of the Claims.
Number | Date | Country | Kind |
---|---|---|---|
05292337.2 | Nov 2005 | EP | regional |