GB2439990A - Double talk and echo path change discriminator for echo canceller - Google Patents

Double talk and echo path change discriminator for echo canceller Download PDF

Info

Publication number
GB2439990A
GB2439990A GB0511164A GB0511164A GB2439990A GB 2439990 A GB2439990 A GB 2439990A GB 0511164 A GB0511164 A GB 0511164A GB 0511164 A GB0511164 A GB 0511164A GB 2439990 A GB2439990 A GB 2439990A
Authority
GB
United Kingdom
Prior art keywords
echo
discriminator
signal
end signal
double
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
GB0511164A
Other versions
GB0511164D0 (en
Inventor
Adrian Fratila
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TECTEON PLC
Original Assignee
TECTEON PLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by TECTEON PLC filed Critical TECTEON PLC
Priority to GB0511164A priority Critical patent/GB2439990A/en
Publication of GB0511164D0 publication Critical patent/GB0511164D0/en
Publication of GB2439990A publication Critical patent/GB2439990A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B3/00Line transmission systems
    • H04B3/02Details
    • H04B3/20Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other
    • H04B3/23Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other using a replica of transmitted signal in the time domain, e.g. echo cancellers
    • H04B3/234Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other using a replica of transmitted signal in the time domain, e.g. echo cancellers using double talk detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B3/00Line transmission systems
    • H04B3/02Details
    • H04B3/20Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other
    • H04B3/23Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other using a replica of transmitted signal in the time domain, e.g. echo cancellers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M9/00Arrangements for interconnection not involving centralised switching
    • H04M9/08Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
  • Telephone Function (AREA)

Abstract

An echo canceller for telephone circuits has an adaptive filter for deriving an echo model for subtracting from an outgoing near-end signal. The filter adaptation is frozen if double talk is detected. Double talk is discriminated from echo path change more reliably and independent of signal level, by using a comparison between two correlations. The first correlation is between the echo model and the near-end signal, and the second correlation is between the echo-cancelled output signal and the echo model signal. There is no need to set and adjust thresholds, making the canceller easier to install, and there is no need to adjust the thresholds for each telephone call to suit different line attenuations.

Description

<p>TECTEON PATENT APPLICATION</p>
<p>DISCRIMINATOR FOR ECHO CANCELLER</p>
<p>FIELD OF THE INVENTION</p>
<p>The invention relates to echo cancellers, to controllers for adaptive filters, to discriminators for discriminating double talk, to systems for switching telephone calls incorporating echo cancellers, to noise cancellers, to corresponding methods, to software for carrying out the methods and to systems incorporating the above, and methods of using such systems.</p>
<p>BACKGROUND</p>
<p>Echo cancellers are well known for use in eliminating long delayed echo interference in telephone networks as well as other applications. Another application is in reducing acoustic echo in hands-free and conferencing audio systems. In order to remove the echo, an echo replica r(n) is generated by an adaptive filter and is subtracted from a "near end" signal as it is transmitted towards its destination at a "far end" of a telephone circuit.</p>
<p>Poor echo cancellation performance may be one of the principal degradations noticed by users. One of the main causes of poor echo cancellation is when a double-talk condition occurs. This is when both the far-end and the near-end users are talking simultaneously into the circuit. In normal conversations, double-talk periods are short in duration (typically 20 % of the talking time) and usually occur at the moment when one user is finishing a sentence while the other user starts to respond. If the adaptive filter continues to adjust its coefficients during Double-talk periods, the adaptive filter will be greatly disturbed and will quickly diverge from its converged state. In order to overcome this problem the adaptive filter coefficients must be frozen during double-talking.</p>
<p>Various known methods of detecting double-talk are shown in US patent 4,894,820 (Miyamoto). The level of the residual echo signal or error may be compared to a predetermined threshold. The threshold may be varied depending on whether double-talk has been detected. Another is to compare a difference between residual and received signal, to the threshold. Yet another is to rapidly decrease the threshold when howling is detected.</p>
<p>Another double-talk detector, shown in US patent 5,193,112 (Sano) determines a cross correlation between incoming and echo signals to see if it is below a first threshold. If so, and if estimated echo cancellation exceeds a second threshold, double-talk is detected.</p>
<p>However, these known arrangements are susceptible to another problem. Double talk may be falsely detected when the residual echo or error increases for other reasons. One such reason is a change in the network topology during a call, causing a new hybrid with a different impulse response become active. This is called Echo Path Change (EPC). In this case, the adaptive filter must be allowed to continue adapting in order to track the new hybrid impulse response and any change in characteristics such as delay and attenuation, in the transmission path between the hybrid and the canceller. Hence the desired reaction to EPC is precisely the opposite of the desired reaction to double-talk.</p>
<p>Contributing to why EPC can be mistaken for double-talk is that the time for the adaptive filter to adapt to EPC may be lengthy, depending on the type of filter used (depending on, for example, the number of taps, and whether a recursive, computationally efficient algorithm is used). For a typical DSP (Digital Signal Processor) implementation of a Least Mean Squares (LMS) algorithm using 256 taps, the rate of adaptation may be around 10dB per second. Thus the time taken to adapt to EPC may be in the order of seconds, during which time a double-talk detector is likely to trigger falsely, and freeze the adaptation, resulting in poor echo cancellation performance.</p>
<p>The adaptive filter can also be disturbed if the signal from the far-end user changes abruptly. In US patent 5,206,854 (Betts), presence or absence of this remote signal is detected by determining a correlation between an echo estimate and the echo cancelled signal, and comparing it to a threshold. Optionally, this is done for both a far-end originating echo estimate, and a near-end originating echo estimate.</p>
<p>Both EPC (Echo Path Change) and Double-talk cause an increase of the output error level. A measurement which enables double-talkfEPC occurrence to be detected is given by the ERLE (Echo Return Loss) value which is the ratio between the averages of output error and near end signal. ERLE is often defined as: N-I e1n 2 ERLE[dB]=-log N,, l()l2 where e(n) is the output error and s(n) is the near end signal before the hybrid.</p>
<p>But ERLE cannot be used to distinguish between double-talk and EPC.</p>
<p>One known attempt to address this, which is sensitive to the difference between EPC and double-talk, involves calculating a correlation between the incoming far end signal and output error. This is compared to a threshold, to make the decision.</p>
<p>The paper of Hua Ye, Bo-Xiu Wu, "A New Double-Talk Detection Algorithm Based on the Orthogonality Theorem", IEEE Transactions on Communications, vol.39, no. 11, November 1991, proposed calculating in the time domain an average cross correlation which uses exponential weighted correlation coefficients. The value of the average cross correlation is compared with a threshold to determine whether double-talk is occurring.</p>
<p>The paper of K. Chow, "Transform Domain Double-Talk Protection Scheme", Coherent Communications Systems Corp., USA translates the above idea into the frequency domain, the estimation procedure being the same.</p>
<p>Both above methods are computationally very expensive because they use the whole set of cross correlation coefficients which for N coefficients means NxN multiplications and additions. Also, such proposals have not proved robust and reliable because the thresholds are difficult to set and adjust to real life conditions. If the threshold is set too high, then double-talk detection is delayed and the filter adaptation is not frozen quickly enough to prevent disruption of the convergence of the filter. If the threshold is set too low, then false double-talk detections will prevent adaptation to EPC or other changes, thus giving poor echo cancellation performance.</p>
<p>SUMMARY OF THE INVENTION</p>
<p>It is an object of the invention to provide improved apparatus or methods. According to a first aspect of the invention, there is provided an echo canceller having: an echo modeller for deriving an echo model from an incoming far end signal, a subtractor for subtracting the echo model from an outgoing near-end signal, to output an echo-cancelled near-end signal, and a discriminator having a first correlator for correlating between the echo model and the near-end signal, and a second correlator for correlating between the echo-cancelled near-end signal and the echo model, the discriminator being arranged to use the outputs of the first and second correlators for discriminating between a double-talk condition and another change in condition.</p>
<p>Some of the a'lvantages of the first aspect: By using both correlations, it is possible to distinguish the conditions independently of the signal levels. This can improve the robustness and reliability of the discrimination over a wider range of signal levels, as are typically encountered in real applications. And this can be achieved without the need to set and adjust thresholds, making the canceller easier to install, and better able to adapt to different line conditions on different calls, or as line conditions change on the same call. As echo cancellation performance can be a critical limitation in systems such as voice telephony networks, use of this aspect of the present invention in such systems could be commercially very significant.</p>
<p>This aspect of the invention is based on the new insight that for double-talk conditions there is high correlation between near end and echo model (because both contain the echo). Also, since the subtractor removes most of the echo, there is low correlation between the echo model and the echo-cancelled output. It is also based on the insight that in case of EPC or other conditions, there is high correlation between this output and the echo model because both contain the echo model. At the same time, there is lower correlation between the near end signal and the echo model, because the EPC or other condition has caused the near end signal reaching the echo canceller, to change.</p>
<p>This aspect is not limited to using the improved determination of a double-talk condition to control the adaptation of the echo canceller itself, so it encompasses this use and any other use for this determination. For example, it may be used for controlling different parts of the echo canceller in different ways, or for controlling other parts of the telephone circuit, away from the echo canceller.</p>
<p>This aspect is not limited to any particular way of deriving the discrimination from the correlator outputs, since various ways can be envisaged, including the simple comparison to find the greater value, as described below. Other examples can be envisaged by those skilled in the art, such as making a weighted comparison, or a simple or weighted ratio, or using logarithms or exponents of the outputs, all within the scope of this aspect of the invention.</p>
<p>According to a second aspect of the invention, there is provided a controller for an echo canceller arranged to discriminate signal conditions, the controller having: a detector for detecting a double-talk condition from another change in condition in the echo canceller, a discriminator for discriminating which of the conditions is occurring, in a manner independent of a level of an input to the echo canceller, and an adapter for adapting the characteristics of the echo canceller depending on an output of the discriminator.</p>
<p>This second aspect of the invention is based on the new insight that the lack of reliability of prior art attempts described above in controlling the adaptation of the echo canceller, was caused by their discrimination being based on a measurement or threshold which was dependent on signal levels. This aspect of the invention is not limited to a particular way of implementing the discrimination.</p>
<p>A third aspect of the invention provides a switching system for routing and processing voice calls, having the echo canceller set out above. This aspect recognises the importance of the echo canceller as a key element, adding value to such systems, as echo cancellation performance has such a direct impact on users of such systems.</p>
<p>A fourth aspect of the invention provides a method of providing a telephone service using the echo canceller. This aspect recognises the added value to the end user of a telephone service, of improved double-talk discrimination, or improved echo cancellation performance.</p>
<p>A fifth aspect of the invention provides a noise canceller having: a discriminator for discriminating a double-talk condition from another change in condition in the noise canceller, in a manner independent of a level of an input to the noise canceller, and an adapter for adapting the characteristics of the noise canceller depending on an output of the discriminator.</p>
<p>A sixth aspect of the invention provides a method of controlling an echo modeller in an echo canceller, determining whether to respond to a change in echo cancellation conditions by adapting the echo modeller, or by freezing it, independently of the signal level. This aspect recognises the value of the activity or operation, once the apparatus is installed, in generating more revenue from telephone calls, which may be much greater than the cost of the apparatus.</p>
<p>A seventh aspect of the invention provides software for carrying out such a method.</p>
<p>This aspect recognises the value of the software as a valuable, tradable component of Other aspects provide for methods or software corresponding to any of the apparatus or system aspects, or combinations or components of the above aspects. Other advantages than those set out above may be apparent to those skilled in the art, particularly over other prior art of which the inventor is not yet aware. The features of dependent claims within each aspect can be combined with each other or with other aspects of the invention as would be apparent to those skilled in the art.</p>
<p>BRIEF DESCRIPTION OF THE FIGURES</p>
<p>Embodiments of the invention will now be described with reference to the figures as follows:</p>
<p>Figure 1 shows a prior art telephone network,</p>
<p>Figure 2 shows a prior art echo canceller,</p>
<p>Figure 3 shows an echo canceller according to a first embodiment of the invention, Figure 4 shows operations of a double-talk discriminator for use in the embodiment of Figure 3, or in other embodiments of the invention, Figure 5 shows in schematic form correlation with zero lag, for use with the detector of figure 4, Figure 6 shows another embodiment of the canceller, Figure 7 shows in schematic form a correlator with delay for use in the arrangement of figure 6, Figure 8 shows a typical D S P implementation including an echo cancellation module, and Figure 9 shows an embodiment of a noise reduction application.</p>
<p>DETAiLED DESCRIPTION</p>
<p>Figure 1, Telephone Network.</p>
<p>Figure 1 shows a prior art telephone network in which the echo canceller of the invention may be incorporated. In this figure, a long-distance telephone network 50 is shown, for making a telephone call from one subscriber to another. For convenience, one side of the network is denoted the near end, and the other side is denoted the far end. A subscriber's handset 90 is coupled to a private branch exchange (P B X) by a 2-wire subscriber line 45. In the P B X, a hybrid coil 60 is used to convert between the two wire subscriber line and a 4 -wire line to the Central Office or local exchange 10.</p>
<p>The conversion to 4-wire enables the voice signals in two directions to be a separated, which is useful for digitising and further processing. Each P B X may support tens or hundreds of subscribers, and will have sufficient hybrid coils according to how many calls are to be supported simultaneously.</p>
<p>Connections from many PBXs and many subscriber lines may be concentrated at a Central Office 10, which maybe many miles away from the subscriber. The central office contains the echo canceller 70, and a switch 80. For the sake of clarity, many other functions of the Central Office are not illustrated. There may be many echo cancellers provided, according to how many calls are to be handled simultaneously.</p>
<p>Conventionally, each Central Office concentrates many calls on to one or more or trunk routes 130 which make up the long distance telephone network 50. At the far end, similar elements and functions are provided. A far end Central Office 20 contains an echo canceller 110 and a switch 100. 4-wire lines 150 are provide to connect the Central Office to one or more P B Xs 30. Each will contain a hybrid 120. Two-wire subscriber lines 160 couple handsets 165 to the hybrid.</p>
<p>As the echo cancellers are intended to cancel echoes ansing from the hybrids at each end of the circuit, in principle, they can be located anywhere in between the hybrids.</p>
<p>They are in practice usually located in a central office where many lines are switched and concentrated. This is convenient to enable them to be shared to make more efficient use of limited processing resource, and for ease of access.</p>
<p>Figure 2, Prior Art Echo Canceller.</p>
<p>Figure 2 shows more details in schematic form of a prior art echo canceller. The canceller 70 has a subtractor 220, an adaptive filter 230, and a double-talk detector 240.</p>
<p>The hybrid coil 60 is illustrated as a two part model, the first part being a subtractor 200, the second part being a hybrid impulse response h (n). The hybrid coil is coupled to the echo canceller by a 4-wire transmission line 235. The near-end signal 270 is carried to the subtractor of the echo canceller. An echo model 260 is generated by the adaptive filter and subtracted from the near-end signal. Hence the adaptive filter is an example or implementation of the generic echo model generator feature. In principle, other known techniques could be used to generate the echo model.</p>
<p>The subtractor produces an echo-cancelled near-end signal 245, for transmission through the rest of the telephone network. The echo-cancelled near-end signal 245 is fed back to the adaptive filter 230. It contains the combination of the near-end talker signal, and a residual uncancelled echo. For practical purposes this can be treated as an error signal in a feedback loop, which the filter constantly tries to reduce, by varying its coefficients. Hereafter this error will be regarded as equivalent to and referred to as the echo-cancelled near-end signal. To prevent adaptation of the filter coefficients during double-talk, the double-talk detector 240 feeds a control signal 265 to the adaptive filter to prevent adaptation.</p>
<p>Figure 3. Echo Canceller Of An Embodiment Of The Invention.</p>
<p>Figure 3 shows an echo canceller according to an embodiment of the present invention.</p>
<p>Corresponding reference numerals have been used to those shown in Figure 2. In this case, the double-talk detector has inputs from the echo model signal 360, the near-end signal 270, and the echo-cancelled near-end signal 345. This helps enable the detector 300 to operate independently of the level of the near end signal. More details of the operation of the double-talk detector will be described below with reference to Figure 4.</p>
<p>The incoming far end signal 255 is fed to the adaptive filter 230. The adaptive filter outputs an echo model 360 to the subtractor 220. The near-end signal 270 is also fed to the subtractor 220. The subtractor 220 outputs an echo-cancelled near-end signal 345.</p>
<p>As before, this echo-cancelled near-end signal 345 is also fed back to the adaptive filter to adjust the coefficients to remove as much echo as possible. It is critical to freeze this adaptation if an increase in error is caused by a double-talk. Hence the freeze adaptation signal 310 output by the double-talk detector must be robust and reliable, even when used with hybrids and transmission lines with widely varying characteristics, and when used with different types of adaptive filter.</p>
<p>Figure 4, An Embodiment Of A Double-Talk Detector Suitable For Use In Figure 3 Figure 4 shows in schematic form some of the principal steps in the operation of the double-talk detector 300 of Figure 3. At step 400, the onset of double-talk or E P C is detected. To distinguish between double-talk or E P C, two simultaneous correlations are carried out. At step 410 the echo model is correlated with the near-end signal. At step 420 the echo model is correlated with the echo-cancelled near-end signal. At step 413 the outputs of the two correlations are compared. At step 440 a control signal is output to freeze the adaptation of the adaptive filter, if the comparison of the correlations indicates a double-talk condition.</p>
<p>This embodiment of the discriminator for distinguishing between EPC and Double-talk works in the time domain and is based on the cross correlation between the error, e(n) referred to as the echo-cancelled near-end signal, and r(n), the echo model signal and the cross correlation between r(n) and s(n) (echo model signal and the incoming near-end signal.</p>
<p>The definition of cross correlation between 2 data sequences can be written as: ccflb(k)a(rz)b(n+k) (1) n-O Because the algorithm uses only the 0 tap cross correlation (k = 0) the index k will be further omitted as follows: CC(1/) = a(n) b(n) (2) Subsequent equations will use the following terms: r(n) -echo model estimate x(n) -Near End Talker Signal r(n) -hybrid residual signal s(n) -Near End Signal which contains the hybrid residual signal and in the case of Double Talk the Near End talker signal e(n) -error signal -new hybrid impulse response in the case of EPC y(n) -Far End signal The method calculates the cross correlation between r(n), s(n) and r(n), e(n) in the case when ERLE increases. The calculation can be carried out continuously, but it is normally more efficient to carry out the calculation only when triggered by a double-talk detector (represented by function 400 in Figure 4) This detector is intended to distinguish potential double talk from a temporary increase in noise level. This is particularly useful in a software implementation, where it is not desirable to waste calculation resources on computationally intensive correlation operations unless they are necessary. The output of the subtractor in the echo canceller of Figure 3 could be fed to the input of this detector. In an alternative embodiment, (not illustrated) the discriminator calculation for discriminating between double talk and EPC is carried out continuously, but its output is gated or enabled by the detector for detecting potential double-talk or EPC. The reason for doing this is that the discriminator is not designed to detect the absence of double-talk and EPC, it is only arranged to distinguish between the two conditions. Hence the discriminator will normally be combined with a detector.</p>
<p>In order to have accurate results it is assumed that the adaptive filter converged before the EPC or Double-talk occurrences. It is also assumed that the minimum value of ERLE is -5dB, which is useful to he able to approximate that r(n) r(n) For the Double-talk case, s(n)=r(n)+x(n) (3) e(n) = x(n) + r(n) -r(n) (4) As stated before, one can approximate r(n) r(n) resulting: e(n) x(n) (5) The cross correlation between one set of data and another gives a measure of similarity between them. Thus, in the case of Double-talk it can be seen that: CC ->CC (6) r(n)+x(n),r(n) r(n),x(n) Concluding, for the case of Double Talk: CC >CC (7) s(n),r(n) r(n),e(n) n the case of Echo Path Change, because the adaptive filter has converged on the previous hybrid impulse response, it can be seen that: e(n) = anew (n) * y(n) -r(n) (8) s(n) = hnew () * y(n) (9) where hnew(fl) is the new hybrid impulse response.</p>
<p>Because the convolution of hnew(fl) with y(n) produce a signal which is not correlated with the former echo estimate r(n), it follows that: cc -<cc_ -hnew (n)*y(n),r(n) r(n), hnew (n)*y(r(n) (10) Concluding, in the case of EPC: cc -<cc s(n),r(n) r(n), e(n) (11) When the value of ERLE increases meaning that EPC or Double-talk occurred, comparing the cross correlation values as stated in equations 7 and 11 one can distinguish between the Double-talk and EPC cases with a simple comparator to determine which is greater. Other derivations to reach a decision from the correlation results are possible.</p>
<p>Figure 5. Embodiment Of A Zero Lag Correlator.</p>
<p>Figure 5 shows in schematic form some of the principal elements of a correlator for correlating with zero lag, as used in the detector of Figure 4. The echo model signal 360 is fed to a first frame buffer 500. In a typical implementation the frame buffer can store 300 samples, the samples are 16 bit digital samples of the voice, though of course other frame sizes or bit depths can be used as desired. At the same time, the echo-cancelled near-end signal 345 is fed to a second frame buffer 510. Each of the samples in the two frame buffers output the inputs of multipliers 520. Thus the first sample of the first frame buffer is multiplied with the first sample of the second frame buffer, the second sample of the first frame buffer is multiplied with the second sample of the second frame buffer, and so on. All the outputs of the multipliers are summed by an adder 530.</p>
<p>At 540 the absolute value of the total generated by the adder 530 is taken and output as the correlation value. Taking the absolute values is not essential in every case, for some signals, the comparison of correlations will work without taking absolute values.</p>
<p>The significance of the correlation being with zero lag is that fewer frame buffers and multipliers are needed. If there were any delays or lag inbetween the signals being correlated, then it would be necessary to provide additional frame buffers and multipliers, tc determine a number of correlation values for a number of different relative delays between the two signals being correlated. The highest value of these correlation values is taken as the correct value.</p>
<p>The functions involved in the correlation shown in Figure 5 can of course be carried out either in software or hardware, or firmware, or any combination, as would be well known to a skilled person.</p>
<p>Figures 6 and 7, Alternative Embodiment Of An Echo Canceller.</p>
<p>Figure 6 shows an alternative embodiment of an echo canceller. Where appropriate, the same reference numerals as those used in Figure 3 have been applied. In this case, the adaptation freeze signal 910 is generated without reference to the echo model signal 900. It is generated from the near-end signal 270, the echo-cancelled near-end signal 945, and notably, from the incoming far-end signal 255. The far-end signal is used in place of the echo model signal. This is feasible because the far-end signal will usually contain the same signal features as the echo model. The feature of level independent discrimination of E P C /double-talk (DT) 980 to generate the adaptation freeze signal, may include a detector for detecting onset of E P C or D T, as discussed above.</p>
<p>The step of distinguishing between E P C or D T may be carried out by a correlation similar to that illustrated in Figures 4 and 5. The principal difference would be the use of the incoming far end signal 255, in place of the echo model 360. The incoming far-end signal 255 will contain the original signal on which the echo is modelled. However, the adaptive filter 230 introduces a considerable delay, in generating the echo model.</p>
<p>This is to compensate for the delay introduced by the transmission line to and from the hybrid, and by the hybrid itself. Therefore, the simple zero lag correlator as shown in Figure 5 should have a corresponding delay element. This is shown in Figure 7, which uses the same reference numerals as Figure 5 as far as possible. The additional delay element in the far-end signal has reference 505.</p>
<p>This delayed far-end signal should overlap perfectly with its near end or error versions, to give a reliable correlation result. The delay can be implemented in practice by reading from the first buffer 500 using an offset to a buffer index. The offset has the value of delay expressed as signal samples. The hybrid delay can be calculated using a conventional algorithm The value of the delay is preferably calculated and stored before the double-talk or EPC occurrence. Otherwise, in the case of EPC the delay produced by the new hybrid is supposed to change, and if the new hybrid delay is considered the delayed far end would overlap perfectly with the near end generating a large value of the correlation between the far end and the near end which is similar with the case of double talk, contradicting the discrimination algorithm. For the case of Double Talk there is no corresponding problem because the delay remains the same before and after double talk.</p>
<p>The method calculates the cross correlation between the delayed far end signal y(n -d), s(n) and y(n -d), e(n) in the case when ERLE increases, as detected by the double-talk or echo path change detector discussed above. As before, it is assumed that the minimum value of ERLE is -5dB, which is useful to be able to approximate that r(n) y(n -d) r(n) Thus, in the case of Double-talk, above equations (6), (7), (10) and(1 1) can be replaced by the following equations (12), (13), (14) and (15). Following equations (3)-(5) , it can be seen that: CCr(,z)+x(n),y(,I_d) > y(nd),x(n) (12)Concluding, for the case of Double Talk: CCS(fl),Y(fl_d) > CCY(fl_d),C(fl) (13) In the case of Echo Path Change, following above equations (8) and (9), because the convolution of h,ew(fl) with y(n) produce a signal which is not correlated with the former echo estimate r(n), it follows that: CChnew (n)*y(n),y(n-d) HCCy(n_d),hflew(n)*y(n)_rn) (14) As stated before y(n -d) r(n) meaning a large value for the correlation result in the right side.</p>
<p>Concluding, in the case of EPC: CCS(fl),Y(fl_d) < CCy(n_d),e(n) (15) Of course other embodiments can be created from combinations of the embodiments of figures 3 and 6. For example, the two correlations to be compared could include one using the echo model, as in figure 3, and one using the far-end signal as in figure 6.</p>
<p>Figure 8, Typical D S P Implementation Of Elements Of A Central Office Including Echo Cancellation.</p>
<p>Figure 8 shows in schematic form a typical D S P implementation including an echo cancellation module which may include the functions shown in Figures 3-7. A switching fabric or data bus 1100 is used to multiplex or switch many individual voice channels. A number of channel interfaces 1110,1120,1130,1140 are shown. These may carry one or more voice channels. Many may be carried simultaneously if they are TDM (time division multiplexed), or multiplexed in other ways, such as by the use of ATM (Asynchronous Transfer Mode) cells, or any other data stream for carrying voice.</p>
<p>The D S P has a large number of selectable software modules 1150; some of the principal ones are shown. They can be stored in off- chip memory. Individual channels may choose which of the modules are needed for particular voice calls. The appropriate software module is called and executed in a prioritised order. They may all be implemented or executable by a single D S P device, or may be spread across any number of such devices, to increase the throughput of calls.</p>
<p>The modules are shown include the adaptive filter module 1160, suitable for carrying out echo cancellation, or other filtering tasks. An associated coefficient adaptation module 1170 is also shown. An echo cancellation module 1180 is provided for overall control of the echo cancellation process, making use of the adaptive filter module as appropriate. A noise reduction module 1190 may be provided, using similar techniques to those used for echo cancellation. A non-linear processing module 1200 may be provided for further processing of voice signals after echo cancellation. A DTMF processing module 1210 may be used to recognise the key pad inputs and take appropriate action. Switching fabric control modules 1220 and voice recognition modules 1230 may be provided. Many other modules (not illustrated) may be provided for carrying out other functions typically carried out within a D S P in a Central Office.</p>
<p>The echo cancellation module can be implemented in well known programming languages such as C or Ada, or others, as would be well known to those skilled in the art. The resulting code can be cross-compiled into a lower level language appropriate to run on a DSP, such as the fixed or floating point types made by TI or Motorola or others, or on a general purpose microprocessor, or any type of firmware, or programmable or fixed hardware, or any combination. The software can in principle be implemented as instructions or as combinations of data, instructions, rules, objects and soon.</p>
<p>Figure 9, Noise Reduction Application.</p>
<p>Figure 9 shows a noise reduction application. In this case, an adaptive filter 1270 is used for creating a model of noise. A reference microphone 1275 generates the equivalent of the far-end signal. Subtractor 1260 is used to subtract the model noise from the incoming signal, in this case from microphone 1265. Again, double-talk may disrupt the adaptation coefficients. For a noise cancel]er Double Talk means another uncorrelated noise with the one that the adaptive filter is scaled on, or any other signal like speech.</p>
<p>EPC means in this case a change of the noise source characteristics (far end signal).</p>
<p>Accordingly, a freeze adaptation signal is used to prevent this disruption when double-talk is detected. A double-talk/noise discriminator 1280 is used. It can be made level independent, and therefore more robust and quicker acting. It detects double-talk based on the model noise signal, or the incoming near-end signal, and the outgoing noise-cancelled signal. The operation of the detector can be based on the same arrangement as shown in Figure 4.</p>
<p>Other Variations And Remarks Other variations and implementations within the scope of the claims will be apparent to those skilled in the art, and are not intended to be excluded. Degradations other than noise and echoes can be modelled and cancelled. The modeller can be other types of adaptive circuit other than an adaptive filter. References to subtractors are intended to encompass adders which add a negative signal to achieve the same function. Although only time domain correlation has been discussed, other correlations can be substituted such as frequency domain correlation, without departing from the invention. Because in the time domain the zero lag correlation is a multiplication of two signal buffers, in the frequency domain this is equivalent to a convolution of the frequency translated time domain signals.</p>
<p>Above has been described an echo canceller for telephone circuits and having an adaptive filter for deriving an echo model for subtracting from an outgoing near-end signal. The filter adaptation is frozen if double talk is detected. Double talk is discriminated more reliably and independent of signal level, by using a comparison between two correlations. The first correlation is between the echo model and the near-end signal, and the second correlation is between the echo-cancelled output signal and the echo model signal. There is no need to set and adjust thresholds, making the canceller easier to install and there is no need to adjust the thresholds for each telephone call to suit different line attenuations.</p>

Claims (1)

  1. <p>Claims 1. An echo canceller having: an echo modeller for deriving an
    echo model from an incoming far end signal, a subtractor for subtracting the echo model from an outgoing near-end signal, to output an echo-cancelled near-end signal, and a discriminator, the discriminator having a first correlator for correlating between the echo model and the near-end signal, and a second correlator for correlating between the echo-cancelled near-end signal and the echo model, the discriminator being arranged for discriminating between a double-talk condition and another change in condition on the basis of outputs of the first and second correlators.</p>
    <p>2. The echo canceller of claim I, the discriminator being arranged to compare levels of the correlations.</p>
    <p>3. The echo canceller of claim 2, the discriminator being arranged to determine a double-talk condition if the first correlation has a higher level, than the second of the correlations.</p>
    <p>4. The echo canceller of claim 1, the first and second correlators being arranged to correlate in the time domain.</p>
    <p>5. The echo canceller of claim 1, an output of the discriminator being arranged to control the echo modeller.</p>
    <p>6. The echo canceller of claim 5, the control of the echo modeller being arranged to control an amount or rate of adaptation to changes in echo conditions.</p>
    <p>7. The echo canceller of claim 1, the other change in condition being an echo path change condition.</p>
    <p>8. The echo canceller of claim 1, further having a double-talk detector, for detecting the onset of a potential double talk condition, the correlators of the discriminator being arranged to be dependent on the detection by the detector.</p>
    <p>9. The echo canceller of claim 1, having an absolute value convertor, for generating absolute values of the outputs of the correlators, the discriminator being arranged to operate on the basis of these absolute values.</p>
    <p>10. A controller for an adaptive filter, the filter being arranged to generate an error model signal from a far-end signal, for subtracting from a near-end signal, to output an error-cancelled near-end signal, the controller having: a discriminator for discriminating a double-talk condition from another change in condition, an adapter for adapting the characteristics of the filter, depending on an output of the discriminator, the discriminator having: a first correlator for correlating between the error model signal and the near-end signal, and a second correlator for correlating between the error-cancelled near-end signal and the error-model signal, the discriminator being arranged for discriminating between a double-talk condition and another change in condition on the basis of outputs of the first and second correlators.</p>
    <p>11. The controller of claim 10, the discriminator being arranged to compare levels of the correlations.</p>
    <p>12. The controller of claim 11, the discriminator being arranged to determine a double-talk condition if the first correlation has a higher level, than the second of the correlations.</p>
    <p>13. The controller of claim 10, the first and second correlators being arranged to correlate in the time domain.</p>
    <p>14. The controller of claim 10, an output of the discriminator being arranged to control the echo modeller.</p>
    <p>15. The controller of claim 14, the control of the echo modeller being arranged to control an amount or rate of adaptation to changes in echo conditions.</p>
    <p>16. A controller for adapting the characteristics of an adaptive filter, the filter being arranged to generate an error model signal from a far-end signal, for subtracting from a near-end signal, to output an error-cancelled near-end signal, the controller having: a discriminator for discriminating a double-talk condition from another change in condition, on the basis of the error model signal, the near-end signal, and the error cancelled near-end signal, 17. An echo canceller having a discriminator for discriminating a double-talk condition from another change in condition in the echo canceller, in a manner independent of a level of an input to the echo canceller, and an adapter for adapting the characteristics of the echo canceller depending on an output of the discriminator.</p>
    <p>18. A discriminator for discriminating a double-talk condition from another change in condition in an echo canceller, using an echo model signal, a near-end signal, and an echo-cancelled near-end signal, in a manner independent of a level of these signals.</p>
    <p>19. A switching system for routing and processing voice calls, having the echo canceller of claim 1.</p>
    <p>20. A switching system for routing and processing voice calls, having an echo canceller, the echo canceller having an adaptive filter and the controller of claim 10.</p>
    <p>21. A method of providing a telephone service to subscribers, the method having the steps of: making available a telephone circuit through a switching system as set out in claim 20, and allowing the echo canceller to operate under control of the controller to cancel echoes.</p>
    <p>22. A noise canceller having: a discriminator for discriminating a double-talk condition from another change in condition in the noise canceller, in a manner independent of a level of an input to the noise canceller, and an adapter for adapting the characteristics of the noise canceller depending on an output of the discriminator.</p>
    <p>23. The noise canceller of claim 22 having a noise modeller for deriving a noise model from an incoming far end signal, and a subtractor for subtracting the noise model from an outgoing near-end signal, to output a noise-cancelled near-end signal, the discriminator having a first correlator for correlating between the noise model and the near-end signal, and a second correlator for correlating between the noise-cancelled near-end signal and the noise model, the discriminator being arranged for discriminating between a double-talk condition and another change in condition on the basis of outputs of the first and second correlators.</p>
    <p>24. A method of' controlling an echo modeller in an echo canceller, determining whether to respond to a change in echo cancellation conditions by adapting the echo modeller, or by freezing it, independently of the signal level.</p>
    <p>25. Software for carrying out the method of claim 24.</p>
    <p>26. Software for discnminating when to alter adaptation of a filter, in a system having the filter for deriving a model of a degradation to a signal, and a subtractor for subtracting the model from the signal to generate a cleaner signal, the software being arranged to carry out the steps of: correlating between the model degradation and the signal, and correlating between the cleaner signal and the model degradation, the discriminator being arranged for discriminating when to alter the filter adaptation on the basis of outputs of the first and second correlations.</p>
GB0511164A 2005-06-01 2005-06-01 Double talk and echo path change discriminator for echo canceller Withdrawn GB2439990A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB0511164A GB2439990A (en) 2005-06-01 2005-06-01 Double talk and echo path change discriminator for echo canceller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0511164A GB2439990A (en) 2005-06-01 2005-06-01 Double talk and echo path change discriminator for echo canceller

Publications (2)

Publication Number Publication Date
GB0511164D0 GB0511164D0 (en) 2005-07-06
GB2439990A true GB2439990A (en) 2008-01-16

Family

ID=34834964

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0511164A Withdrawn GB2439990A (en) 2005-06-01 2005-06-01 Double talk and echo path change discriminator for echo canceller

Country Status (1)

Country Link
GB (1) GB2439990A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8625776B2 (en) 2009-09-23 2014-01-07 Polycom, Inc. Detection and suppression of returned audio at near-end

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000151473A (en) * 1998-11-18 2000-05-30 Toshiba Corp Voice signal processing unit
US20030007633A1 (en) * 2001-01-26 2003-01-09 Tucker Luke A. Double-talk detector suitable for a telephone-enabled PC
US6865270B1 (en) * 2000-09-21 2005-03-08 Rane Corporation Echo cancellation method and apparatus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000151473A (en) * 1998-11-18 2000-05-30 Toshiba Corp Voice signal processing unit
US6865270B1 (en) * 2000-09-21 2005-03-08 Rane Corporation Echo cancellation method and apparatus
US20030007633A1 (en) * 2001-01-26 2003-01-09 Tucker Luke A. Double-talk detector suitable for a telephone-enabled PC

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8625776B2 (en) 2009-09-23 2014-01-07 Polycom, Inc. Detection and suppression of returned audio at near-end
US9025764B2 (en) 2009-09-23 2015-05-05 Polycom, Inc. Detection and suppression of returned audio at near-end

Also Published As

Publication number Publication date
GB0511164D0 (en) 2005-07-06

Similar Documents

Publication Publication Date Title
US8098812B2 (en) Method of controlling an adaptation of a filter
US7817797B2 (en) Method and apparatus for detecting echo path changes in an acoustic echo canceller
US5631900A (en) Double-Talk detector for echo canceller
KR100559752B1 (en) Operation method of echo canceller system and echo canceller system
JP4752494B2 (en) Echo canceller
US8139760B2 (en) Estimating delay of an echo path in a communication system
US6928160B2 (en) Estimating bulk delay in a telephone system
JP5125690B2 (en) Acoustic echo canceller
JPH09130308A (en) Echo canceler and its operating method
EP1786191B1 (en) Acoustic echo canceller
US6064873A (en) Method and apparatus for controlling echo on both sides of a connection
JP2011055494A (en) Echo canceller
EP1560348B1 (en) Method for detecting echo path changes in echo cancellers
US7539300B1 (en) Echo canceller with enhanced infinite and finite ERL detection
US20130058464A1 (en) Detection of double talk in telecommunications networks
JP2008078973A (en) Double-talk detection method
GB2439990A (en) Double talk and echo path change discriminator for echo canceller
US8737601B2 (en) Echo canceller
GB2439991A (en) Discriminator for echo canceller using far-end signal
US7876892B1 (en) Multiple echo cancellation using a fixed filter delay
CA2611075A1 (en) Echo delay detector
CA2494386C (en) Narrow band tone detection in echo canceling system
GB2439989A (en) Correlator for signal or noise classification
Lindstrom et al. The two-path algorithm for line echo cancellation
Haghshenas et al. A novel double-talk detector based on adaptive estimation of near-end power

Legal Events

Date Code Title Description
AT Applications terminated before publication under section 16(1)
720A Reinstatement of application (patents act 1977, section 20(2)a)

Free format text: REQUEST FOR REINSTATEMENT FILED

Free format text: REQUEST FOR REINSTATEMENT ALLOWED

WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)