Abstract:
A method of canceling echo signals in a telephone network operating in a double talk mode has been developed. A system for implementing the method is also presented. In the invention the conventional normalized least mean square (NLMS) algorithm for echo cancellers is modified such that echo path changes continue to be tracked even after a double talk condition has been detected. The modified algorithm, known herein as a double-talk normalized least mean square (DNLMS) algorithm adaptively adjusts the convergence rate based on the power difference between the echo signal or the residual signal and the far end signal.

Description:
FIELD OF INVENTION 
     This invention relates to echo cancellers for telephones and conferencing terminals and more particularly to a method of controlling echo cancellation in a double talk environment. 
     BACKGROUND 
     In a telephone system it is known that incoming signals at the receiver of the terminal are frequently detected by the same terminal&#39;s microphone and, if not cancelled, the signal are re-transmitted on the transmit path to a far-end user. Such signals are known as echo signals and can be extremely annoying to telephone users. 
     Known echo cancellation processes rely on a process involving a Normalized Least-Mean Square (NLMS) algorithm. This algorithm is effective against echo signals that occur when the near-end user is not speaking. There are, of course occasions when the near-end user will choose to talk at the same time as the far-end user. This situation wherein the parties on opposite ends of the telephone line are talking at the same time is known as double-talk. During double-talk, the aforementioned NLMS algorithm tends to become unstable. In order to overcome this instability the known echo canceller products stop or at least slow down the adaptation process as soon as a double-talk condition is detected. However, this scheme cannot prevent the adaptive weights from diverging in the time interval immediately before the double-talk condition has been detected. In a situation where the double-talk is so weak that the double-talk detector cannot detect it, the divergence of the NLMS algorithm becomes even more serious. Also, if the echo path changes during the double talk condition (which is often the case for the acoustic hands free telephone), the NLMS algorithm cannot make the necessary adjustment because the adaptation is frozen. 
     As previously discussed an echo in a telephone environment is the phenomenon in which a delayed and distorted version of an original signal is reflected back to the source. In the telephone system, this echo causes impairment on the fidelity of the speech signals and is often detrimental to the users. The purpose of the echo canceller is to estimate the echo path relative to the reference signal, reproduce the echo replica and subtract it from the input signal (see FIG.  1 ). 
     Currently, the most commonly used echo cancellation algorithm is the NLMS algorithm, which is described as follows: Let r(n) be the far-end speech and s(n) be the near-end speech at the microphone input. The echo signal se (n) can be modeled as: 
     
       
           s   e ( n )= h ( n )* r ( n )  (1) 
       
     
     where h(n) is the unknown echo path, * is the linear convolution operator. 
     The microphone input signal is 
     
       
           s   in ( n )= s   e ( n )+ s ( n )+ v ( n )  (2) 
       
     
     where v(n) is the background noise. To eliminate the echo signal s e (n), the typical NLMS algorithm first estimates the echo path ĥ(n) with the reference signal r(n) and s in (n), and subtracts the echo replica ĥ(n)*r(n) from s in (n) to cancel the echo. With the NLMS algorithm it is possible to estimate ĥ(n) recursively such that at time m:                    h   ^          (   n   )       =         h   ^          (   n   )       +       μ                   e        (   m   )            r        (     m   -   n     )           E   r           ,     n   =   0     ,   1   ,   …              ,     N   -   1             (   3   )                                
     where N is the length of ĥ(n), and 0&lt;μ&lt;2 is the step size which controls the convergence rate of the NLMS algorithm and its final residual error: 
     
       
           e ( n )= s   in ( n )− h ( n )* r ( n ) 
       
     
     E r  is the energy of the reference signal:                E   r     =       ∑     n   =   0       N   -   1                         r   2          (     m   -   n     )                 (   4   )                                
     The advantages of the NLMS algorithm are that it is simple and easily implemented. When s(n) is absent, ĥ(n) converges to the true echo path h(n). However, when s(n) is present, i.e., when a double-talk situation occurs, the NLMS algorithm will become unstable and quickly diverge from its original state. 
     SUMMARY OF THE INVENTION 
     A new double-talk insensitive algorithm known herein as a double-talk normalized least mean square (DNLMS) algorithm is developed in this invention. During a double-talk condition, the DNLMS algorithm can not only stabilize its weights but also track echo path variations. 
     According to this invention, the NLMS algorithm is modified so that it will be stabilized during the double-talk environment. The new DNLMS algorithm is one in which the convergence rate μ is adaptively adjusted based on the double-talk condition, i.e., the power difference between s in (n) and r(n). Unlike most telephone echo cancellers where a double-talk detector is added and the adaptation is stopped as soon as a double-talk is detected, the DNLMS algorithm continues to track the echo path change during double-talk, and its cost to implement is even lower than a simple double-talk detector. 
     Therefore in accordance with a first aspect of the present invention there is provided in a telephone system having a receive path for receiving signals from a far end user and a transmit path for transmitting near end signals to a far end user, a method of controlling an acoustical echo canceller to cancel echo components based on the far end signal from the near end signal in a double talk condition, the method comprising: generating a replica echo signal based on the far end signal and an estimated echo path length; and controllably canceling the replica echo signal from the near end signal using an adaptively adjusted convergence rate. 
     In accordance with a further aspect of the present invention there is provided a method of controlling an acoustical echo canceller in a telephone system to cancel echo signals from near end signals in a double talk condition, the method comprising the steps of: measuring the relative strengths of the echo signal and the near end signal; canceling the echo signal by controlling convergence rate; and adaptively adjusting the convergence rate based on the relative strengths of said echo signals and said near end signals. 
     In accordance with a still further aspect of the present invention there is provided in a telephone network having a receive path for receiving signals from a far end user and a transmit path for transmitting near end signals to a far end user, an acoustical echo canceller for canceling echo components of the far end signal from the near end signal in a double talk condition, the echo canceller comprising: means to calculate the relative strengths of the echo components and the near end signal; convergence means to converge the echo components; and means to adaptively adjust the convergence rate based on the relative strengths of the echo components and the near end signal. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The invention will now be described in greater detail having reference to the attached drawings wherein: 
     FIG. 1 illustrates an echo generation model in a telephone network; 
     FIG. 2 illustrates the echo replica generation block according to the present invention; 
     FIG. 3 shows adaptation step size (μ) as a function of near end signal strength with fixed far end signal strength; and 
     FIG. 4 illustrates graphically the relationship between step size (μ) and relative strengths of near and far end signals. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     In view of the aforementioned double-talk situation most echo canceller products include a double-talk detector. When a double-talk condition is detected, the adaptation procedure is stopped and all the estimated echo weights are frozen until the double-talk condition is released. As for the double-talk detector, it uses either an energy calculation or a correlation calculation. However, because of the strong correlation in speech signals known double talk detectors have difficulty distinguishing between double-talk and echo path changes. Also, almost all double-talk detectors require an averaging time. Before a double-talk is detected, the double-talk signal may have already caused the NLMS algorithm to diverge somewhat. The problem is even worse when the far-end speech starts to quiet down. Under such circumstances, the energy level of the far-end speech (E r ) is very small and the residual error signal e(n) is very large, and a big misadjustment is made in the echo path estimation of Eq. (3) before the double-talk is detected. Small undetectable double-talk levels may also cause the divergence of the adaptive filter. 
     Some other algorithms suggest the use of two sets of adaptive filters to distinguish the double-talk and the echo path changes. However, the cost is dramatically increased especially when the echo path is long. 
     In a hands-free telephone terminal, the echo environment keeps changing because of the movement of speakers and the change of the acoustic environment. If the estimated echo weights are frozen during the double-talk, all weights must go through a reconverge procedure after the double-talk is released. Therefore, an algorithm is required whereby not only are the adaptive weights kept stable during the double-talk but changes in the echo path are tracked. 
     In the NLMS algorithm, μ is the key factor which controls the convergence rate and the final echo residual error. It is known that in order to guarantee the convergence of the NLMS algorithm, μ is typically in the range of 0 to 2. With a large A, there is a fast convergence rate for NLMS but the final residual error will be large. When the near-end speech is present, the adaptive weights start to diverge. This is the reason why a divergence is observed during a double-talk situation. The divergence problem becomes even more serious when the near-end signal and the far-end signal are highly correlated, (which typically is the case for speech signals). With a small μ, we have a small residual error and if the near-end signal and the far-end signal are uncorrelated in a large time window, the NLMS may still converge to its correct weights. However, the initial convergence rate is very slow with a small μ, and if the convergence is too slow, the NLMS may never converge in an acoustical environment where the environment noise is high and the echo path keeps changing. It is required that the convergence rate is at least faster than the echo path change. 
     In the present invention, the μ value is adjusted according to the instantaneous double-talk level. FIG. 2 shows the echo replication block according to the present invention. As shown the convergence rate is adaptively adjusted according to step size μ calculated in the echo areplica block. During the single-talk mode, μ is given its largest value and during the double talk, μ is reduced based on how strong the double-talk is. If the far-end signal is absent, μ is reduced to zero and no weights adjustment is made. In the DNLMS algorithm, the μ value is indirectly controlled through E r , the denominator in the second term of Eq. (3). The new weights adaptation follows the following formula:                    h   ^          (   n   )       =         h   ^          (   n   )       +       μ                   e        (   m   )            r        (     m   -   n     )         E         ,     k   =   0     ,   1   ,   …              ,     N   -   1             (   5   )                                
     If E=E r , it is the normal NLMS algorithm, and if E&gt;E r , it is equivalent to the reduction of μ. 
     In a real time implementation, the E r  calculation in Eq. (4) can be equivalently replaced by the following recursive algorithm:                E   r     =         (     1   -     1   N       )          E   r       +       r   2          (   n   )                 (   6   )                                
     In the DNLMS, we also need to calculate the energy of the near-end speech E in :                E   in     =         (     1   -     1   N       )          E   in       +       s   in   2          (   n   )                 (   7   )                                
     With E r , and E in , the E is calculated as:              E   =     {             E   r     ,             if                   E   r       &gt;     α                   E   in                     β                   E   in       ,           Otherwise   .                     (   8   )                                
     Where: 
     α&gt;1, and β&gt;α 
     During the single-talk mode, E in , is the echo energy and if it is α times lower than E r , we have E=E r  and it is the normal NLMS algorithm. During double talk, when E in , (echo+near-end speech) is larger than E r /α, we have:        E   =       β                   E   in       =           β   α     ·   α                     E   in       &gt;         β   α     ·   α                       E   r     .                                  
     This is equivalent to saying that μ is reduced at least by β/α times:          μ   E     &lt;       α   β     ·     μ     E   r                                
     Note that μ is actually reduced inversely proportionally to E in , so that increasing near end speech activity also reduces the μ value. The relationship between the step size μ and E in  is shown in FIG. 3 with a fixed E r , where the initial value of μ is 1. 
     In this new scheme, the adaptation continues during the double-talk and μ is adjusted according to the double-talk strength. All speech signals have voice sections, unvoiced sections and silent periods. During double talk, the active periods of the near-end speech and the far-end speech do not always overlap with each other. The μ value varies with the difference between the energy levels of the far-end speech (E r ) and the near-end speech (E in ) . When the near-end double-talk is strong, a small μ maintains a slow divergence of the weights and when the far-end speech is strong, a large μ yields a fast convergence rate. Therefore, the DNLMS can maintain the double-talk stability and track the echo path change during the double-talk, and it converges well even if the near-end signals are dual tone multiple frequency (DTMF) tone signals which have on and off periods. 
     An example of how μ varies with the near end and the far end signal levels is shown in FIG.  4 . It can be observed that μ is high at optimum times and no double-talk hang-over time is needed to prevent the divergence during the tails of near-end speech. 
     There are other ways to calculate the value E beside Eq. (8). The instantaneous energy E e  of residual error e(n) can be used instead of that of E in , i.e.,                E   e     =         (     1   -     1   N       )          E   e       +       e   2          (   n   )                 (   9   )                                
     If E e  is used instead of E in , in Eq. (8), α can be chosen to be a large number during the single-talk because E e  is the echo residual energy which is much smaller than E in . With the large α value, DNLMS will be more sensitive to the double-talk. As soon as the double-talk happens, αE e  will be larger than E r  and μ is reduced instantaneously. This will make the adaptation more stable during the double-talk. The problem of using E e  is that during the initial convergence period and when the echo path changes, αE e  will be larger than E r  even during the single-talk mode. As a result, large α value may cause the slow convergence rate with a small μ value. But smaller α is required for the initial convergence. 
     Another scheme is to choose the minimum value between α 1 E in  and α 2 E e  (α 1 &gt;0, α 2 &gt;α 1 ), and E can be calculated in the following two steps:                E   1     =     {               α   2          E   e       ,               α   1          E   in       &gt;       α   2          E   e                       α   1          E   in       ,               α   1          E   in       &lt;       α   2          E   e                         (   10   )                                
     and              E   =     {             E   r     ,             if                   E   r       &gt;     E   1                   β                   E   1       ,           Otherwise   .                     (   11   )                                
     Where during the double-talk, μ is reduced at least by β times          μ   E     =       μ     β                   E   1         &lt;     μ     β                   E   r                                  
     With a careful choice of α 1  and α 2 , E 1 =α 1 E in  is used during the initial convergence period and when the echo path changes (E e  is large). E 1 =α 2 E e  is used when the DNLMS is well converged. This last scheme takes the advantages of both the first scheme and the second one, i.e., sensitive to the double-talk when the NLMS is well converged and fast convergence during double-talk and echo path changing. However, it requires extra computations in comparison with the first two schemes. 
     In specific tests for the acoustic echo canceller it was found that the following parameters for α and β are appropriate for common room environments: 
     Scheme 1 (using E r  and E in ) : The initial value of μ is set at 1. It was determined that the echo return loss is at least 6 dB and α was set: α=5. β is chosen as 50 such that the μ is reduced at least 10 times during the double-talk. 
     Scheme 2 (using E r  and E e ) : The initial value of μ is still set at 1. α is chosen as 50 under the condition that the echo return loss is at least 6 dB and the NLMS gives at least 10 dB echo suppression. Again the μ is reduced at least 10 times during the double-talk and β is chosen as 500. 
     Scheme 3 (using E r  and E e ) : The initial value of μ is still set at 1 and the other parameters are chosen as α 1 =5, α 2 =50 and β=10. All these are based on the same assumptions and requirements: the echo return loss is at least 6 dB, the NLMS gives at least 10 dB echo suppression, and the value of μ is reduced at least 10 times during the double-talk. 
     In all the above parameter selections, it is assumed that the echo return loss is at least 6 dB. This means that with those parameters, the best echo suppression can be achieved for the echo return loss around 6 to 20 dB (which includes most practical environments). However, the situation when echo path has up to 6 dB gain can also be handled with those parameters. 
     Test results show that during a double talk condition, adaptation weights are stabilized and echo path changes can be tracked. It was found that all the three E − calculation schemes perform similarly and the preference will depend on the environment: echo delay, echo loss and the possible double-talk strength. 
     In accordance with the present invention the following aspects are obtained: 
     a). A double-talk insensitive and stabilized NLMS algorithm is developed. 
     b). The echo path can be tracked during the double-talk with no extra cost. 
     c). The adaptation weights do not need to be frozen during the double-talk. 
     d). The adaptation step is adaptively adjusted based on the double-talk strength. 
     While certain embodiments of the invention have been described and illustrated it will be apparent to one skilled in the art that other variations and alternatives can be made without departing from the basic concept. It is to be understood that such alternatives and variations will fall within the full scope of the invention as defined by the appended claims.