Line echo cancellation system

An echo cancellation system for detecting and canceling echo from a network speech path, comprising a pool of echo locators for detecting pure echo delay and dispersion of time, a pool of echo cancellers, a pool of line watchdogs for detecting presence or absence of echo in the network speech path, and a control system for (i) locating and applying an echo locator from the pool of echo locators to the network speech path for detecting the pure echo delay and dispersion of time of any echo in the network speech path, and thereafter returning the echo locator to the pool of echo locators; (ii) locating and applying an echo canceller from the pool of echo cancellers to the network speech path for canceling the echo using the pure delay and dispersion time, and thereafter returning the echo canceller to the pool of echo cancellers; and (iii) locating and applying a line watchdog from the pool of line watchdogs to the network speech path for detecting said presence or absence of echo, and in the event the presence of said echo is detected then re-executing (i).

FIELD OF THE INVENTION

This invention relates generally to echo cancellers, and more particularly to a system for monitoring a network for the presence of echo, determining the pure echo delay and the dispersion time of the echo impulse response and in response applying an echo canceller for performing echo adaptation only in the dispersion time.

BACKGROUND OF THE INVENTION

Echo cancellers are well known in the art for providing cancellation of echoes resulting from imperfect impedance matching by hybrids in two-to-four wire signal conversion. Prior art adaptive linear echo cancellers (LECs) employing the Least Mean Square (LMS) algorithm are useful in quickly adapting to changes in the echo path response. However, such systems are computationally complex and slow in adapting to changes in the echo path or a sudden onset of echo during a call.

It is also known from the prior art to use complex and expensive echo locators for the purpose of determining echo delay and the dispersion time.

The following patents are exemplary of the prior art:CA2319639 entitled Locating Network Echos, by Popovic et al, dated Mar. 14, 2000.U.S. Pat. No. 5,721,782 entitled Partitioned Echo Canceller Utilizing Decimation Echo Location, by Piket et al, dated Feb. 24, 1998.U.S. Pat. No. 5,761,638 entitled Telephone Network Apparatus and Method Using Echo Delay and Attenuation, by Knittle et al, dated Jun. 2, 1998.U.S. Pat. No. 5,999,901 entitled Telephone Network Apparatus and Method Using Echo Delay and Attenuation, by Knittle et al, dated Dec. 7, 1999.U.S. Pat. No. 5,511,064 entitled Speech Path Switching Control Apparatus and Method for Making Maintenance of Speech Possible Upon Occurrence of Fault in Echo Cancellation, by Oh et. al, dated Apr. 23, 1996.

SUMMARY OF THE INVENTION

One object of an aspect of the present invention is to reduce complexity of echo cancellation systems, while providing robust echo cancellation. Therefore, in accordance with the invention there is provided an echo cancellation system comprising a line echo locator, line echo canceller, and a line watchdog. The line echo locator monitors the speech path, and if echo is present a control system locates and applies the echo canceller, otherwise it locates and applies the line watchdog to the speech path. The echo cancellation system of the present invention also assures good echo performance in the case when the echo path changes or in the event that an echo occurs later during the call.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

In the system ofFIG. 1, echo cancellation system1represents any one of an echo canceller, echo locator or line watchdog from the echo canceller pool5, echo locator pool3, or line watchdog pool9, respectively, which has been located and applied to a speech path in the network7under control of control system11. In accordance with an important aspect of the present invention, the echo canceller is located and applied if and only if echo is present. The structure and operation of the echo canceller and echo locator are well known in the art.

In operation, at the start of a call an echo locator is located in the network speech path at1from the echo locator pool3, under control of the control system11. The heavy dashed lines inFIG. 1represent location and application of a device from one of the pools3,5or9. The echo locator is capable of detecting any echo in a short time period and determining the pure echo delay and the dispersion time of the echo impulse response. If echo is present then the echo locator sends a request to the control system11for an echo canceller together with the detected pure delay and the span of the dispersion region (i.e. the dash and double-dot line in FIG.1). The echo locator is returned by the control system11to the pool3, as shown by the dotted lines parallel to the heavy dashed lines in FIG.1. Preferably, the echo locator is of the type described in commonly-owned CA 2319639 (Locating Network Echoes).

The echo canceller is then located in the speech path at1and provides adaptation only in the dispersion time determined by the echo locator. All coefficients beyond the dispersion time are modeled as zero. If the echo path changes, thereby resulting in divergence or loss of adaptation, the echo canceller sends a request for a further echo locator and the echo canceller is returned to the pool5. After estimation of the new echo path response, the pure delay and the dispersion time are transferred to a newly located echo canceller, and the further echo locator is returned to the pool3.

In the event that the echo locator detects no echo during a predetermined time out period, the echo locator sends to the control system11a request for location of the line watchdog on the network speech path and the echo locator is returned to the pool3. The line watchdog is implemented using a simple algorithm to provide a binary statement for indicating whether echo is present or absent. When network speech path conditions change resulting in echo, the line watchdog sends a request for an echo locator, and the watchdog is returned to the pool9.

The line watchdog functionality is based on a cross-correlation CRrsbetween Far End (Rin) and Near End (Sin) signals, as shown in FIG.2. The cross-correlation21performs in the decimation mode with a sampling rate reduction M—where M is a positive number. Rin and Sin signals are filtered by a decimation filter23and after filtering are downsampled by M, to produce Rind and Sind signals. The samples Rind fill up a buffer25(Rind_Buffer) and the Sind samples fill up a buffer27(Sind_Buffer) until the buffers are full. When the buffers25and27are full the cross-correlation is calculated to the maximum time shift
max_lag=Tail_End_Delay/M.

The cross-correlation is calculated on the finite-duration sequences of samples with length Ncr<max lag. The smaller value of Ncrallows for the generation of a correlation estimation from which it it is possible to estimate whether signals are correlated or not while using only a small number of mathematical operations. At each sample, the cross-correlation is calculated only for one time shift. Therefore, the cross-correlation coefficients are obtained after max_lag number of samples. After the cross-correlation coefficients are calculated, a decision is made as to whether Rin is correlated with Sin. If it is, the echo locator is called up and if not then the filtering process, buffer filling, and calculation of the cross-correlation is continued.

The following is an exemplary pseudo-code for the line watchdog of the preferred embodiment:

M - decimation factorInitial values:max_lag = Tail_End_Delay / M   // Tail_End_Delay - max. echo path delayInitialize Ncr to max_lag or lessState Watchdog:BEGINDecimate Rin and store in Rind_buffDecimate Sin and store in Sind_buffREPEATCross correlate Rind and Sind over Window Ncr (CRrs)Shift Sind relative to RindUNTIL max_lag samplesIF Sind correlated to RindFlag ECHO PRESENT(Go to Echo Locator state)ELSE // Sind not correlated to RindRemain in Watchdog stateEND

A person of skill in the art may conceive of modifications and alternative embodiments of the invention, all of which are believed to be within the sphere and scope of the invention as set forth in the claims appended hereto.