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.
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:
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.
A detailed description of the invention is set forth herein below, with reference to the following drawings, in which:
In the system of
In operation, at the start of a call an echo locator is located in the network speech path at 1 from the echo locator pool 3, under control of the control system 11. The heavy dashed lines in
The echo canceller is then located in the speech path at 1 and 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 pool 5. 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 pool 3.
In the event that the echo locator detects no echo during a predetermined time out period, the echo locator sends to the control system 11 a request for location of the line watchdog on the network speech path and the echo locator is returned to the pool 3. 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 pool 9.
The line watchdog functionality is based on a cross-correlation CRrs between Far End (Rin) and Near End (Sin) signals, as shown in FIG. 2. The cross-correlation 21 performs 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 filter 23 and after filtering are downsampled by M, to produce Rind and Sind signals. The samples Rind fill up a buffer 25 (Rind_Buffer) and the Sind samples fill up a buffer 27 (Sind_Buffer) until the buffers are full. When the buffers 25 and 27 are 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 Ncr allows 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:
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.
Number | Date | Country | Kind |
---|---|---|---|
0212397 | May 2002 | GB | national |
Number | Name | Date | Kind |
---|---|---|---|
4587382 | Yang | May 1986 | A |
5721782 | Piket et al. | Feb 1998 | A |
5761638 | Knittle et al. | Jun 1998 | A |
5999901 | Knittle et al. | Dec 1999 | A |
20030235294 | Dyba et al. | Dec 2003 | A1 |
20040037417 | Seibert | Feb 2004 | A1 |
Number | Date | Country |
---|---|---|
2319639 | Mar 2001 | CA |
1 104 116 | May 2001 | EP |
1 130 796 | Sep 2001 | EP |
WO 9800860 | Jan 1998 | WO |
WO 9800960 | Jan 1998 | WO |
WO 9834353 | Aug 1998 | WO |
Number | Date | Country | |
---|---|---|---|
20030223575 A1 | Dec 2003 | US |