Speech typically results in reflected waves. When the reflected wave arrives a very short time after the direct sound, it is perceived as a spectral distortion or reverberation. However, when the reflection arrives a few tens of milliseconds after the direct sound, it is heard as a distinct echo. Such echoes may be annoying, and under extreme conditions can completely disrupt a conversation.
Line echoes (i.e., electrical echoes) occur in telecommunications networks due to impedance mismatches at hybrid transformers that couple two-wire local customer loops to four-wire long-distance trunks. Ideally, the hybrid transformer passes the far-end signal at the four-wire receive port through to the two-wire transmit port without allowing leakage into the four-wire transmit port. However, this would require exact knowledge of the impedance seen at the two-wire ports, which in practice varies widely and can only be estimated. As a result, the leaking signal returns to the far-end talker as an echo. The situation can be further complicated by the presence of two-wire toll switches, allowing intermediate four-two-four wire conversions internal to the network. In telephone connections using satellite links with round-trip delays on the order of 600 ms, line echoes can become particularly disruptive.
Acoustic echoes occur in telecommunications networks due to acoustic coupling between a loudspeaker and a microphone (e.g., in a speakerphone). During a teleconference, where two or more parties are connected by a full-duplex link, an acoustic reflection of the far-end talker through the near-end conference room is returned to the far-end talker as an echo. Acoustic echo cancellation tends to be more difficult than line echo cancellation since the duration of the acoustic path is usually several times longer (100-400 ms) than typical electrical line paths (20 ms), and the acoustic path may change rapidly at any time due to opening doors, moving persons, changing temperatures, etc.
Echo suppressors have been developed to control line echoes in telecommunications networks. Echo suppressors decouple the four-wire transmit port when signal detectors determine that there is a far-end signal at the four-wire receive port without any near-end signal at the two-wire receive port. Echo suppressors, however, are generally ineffective during double-talking when speakers at both ends are talking simultaneously. During double-talk, the four-wire transmit port carries both the near-end signal and the far-end echo signal. Furthermore, echo suppressors tend to produce speech clipping, especially during long delays caused by satellite links.
Echo cancellers have been developed to overcome the shortcomings of echo suppressors. Echo cancellers include an adaptive filter and a subtracter. The adaptive filter attempts to model the echo path. The incoming signal is applied to the adaptive filter which generates a replica signal. The replica signal and the echo signal are applied to the subtracter. The subtracter subtracts the replica signal from the echo signal to produce an error signal. The error signal is fed back to the adaptive filter, which adjusts its filter coefficients (or taps) in order to minimize the error signal. The filter coefficients are stored in a coefficient memory. In this manner, the filter coefficients converge toward values that optimize the replica signal in order to cancel the echo signal. Echo cancellers offer the advantage of not disrupting the signal path. Economic considerations place limits on the fineness of sampling times and quantization levels in digital adaptive filters, but technological improvements are relaxing these limits. Echo cancellers were first deployed in the U.S. telephone network in 1979, and currently are virtually ubiquitous in long-distance telephone circuits. See generally Messerschmitt, "Echo Cancellation in Speech and Data Transmission", IEEE Journal on Selected Areas in Communications, Vol. SAC-2, No. 2, March 1984, pp. 283-298; and Tao et al., "A Cascadable VLSI Echo Canceller", IEEE Journal on Selected Areas in Communications, Vol. SAC-2, No. 2, March 1984, pp. 298-303.
In order for the adaptive filter to correctly model the echo path, the output signal of the echo path must originate solely from its input signal. During double-talking, speech at the near-end that acts as uncorrelated noise causes the filter coefficients to diverge (or drift). In open-loop paths, coefficient drift is usually not catastrophic although a brief echo may be heard until convergence is established again. In closed-loop paths (which typically include acoustic echo paths), however, coefficient drift may lead to an unstable system which causes howling and makes convergence difficult. To alleviate this problem, double-talk detectors are commonly used for disabling the adaptation as double-talking occurs. Double-talk detectors may employ, for instance, Geigel's test to detect double-talking. Unfortunately, double-talk detectors fail to indicate the presence of double-talking for a time period (e.g., a whole syllable) after double-talking begins. During this time period, the coefficients may drift and lead to howling as mentioned above. Furthermore, double-talking becomes increasingly difficult to detect as the acoustic echo becomes large in comparison to the near-end signal.
An echo canceller employing adaptive and non-adaptive filters is disclosed in Ochiai et al., "Echo Canceler with Two Echo Path Models", IEEE Transactions On Communications, Vol. COM-25, No. 6, June 1977, pp. 589-595. Ochiai et al. discloses an echo canceller with a non-adaptive filter and an adaptive filter arranged in parallel. The adaptive filter includes an adaptation processor, whereas as non-adaptive filter is devoid of an adaptation processor and must be updated by the adaptive filter. Each filter generates a replica of the echo signal. The filter coefficients of the adaptive filter are transferred into the non-adaptive filter when the replica signal from the adaptive filter provides a better estimate of the echo signal than the replica signal of the non-adaptive filter. Therefore, during uncorrelated double-talking, the non-adaptive filter is relatively immune from coefficient drift in the adaptive filter.
Another echo canceller employing adaptive and non-adaptive filters is disclosed in U.S. application Ser. No. 08/519,267, filed Aug. 25, 1995, entitled "Echo Canceller with Adaptive and Non-Adaptive Filters" by R. E. Crochiere and V. Iyengar, Case 8-2, assigned to the assignee of the present invention, and incorporated herein by reference. Crochiere et al. discloses an echo canceller with a non-adaptive filter and an adaptive filter arranged in cascade. The adaptive filter includes an adaptation processor, whereas as non-adaptive filter is devoid of an adaptation processor and must be updated by the adaptive filter. The non-adaptive filter generates a replica of the echo signal, whereas the adaptive filter generates a replica of a send output signal. The filter coefficients in the adaptive filter are accumulated on related filter coefficients in the non-adaptive filter, and then reset, when the combined cancellation of the filters is better than that of the non-adaptive filter alone. Therefore, during uncorrelated double-talking, the non-adaptive filter is relatively immune to coefficient drift in the adaptive filter. In addition, a spectral detector prevents the update operation in the presence of narrowband signals.
Another echo canceller employing several adaptive filters is disclosed in U.S. Pat. No. 5,263,020 to Yatsuzuka et al. The echo canceller in Yatsuzuka et al. includes an adaptive main echo estimator and an adaptive sub echo estimator arranged in cascade. The main echo estimator and the sub echo estimator each include adaptation processors. The main echo estimator generates a replica of the echo signal, whereas the sub echo estimator generates a replica of a send output signal. The main echo estimator has a small step gain for updating filter coefficients so that the response to an echo is slow, while the sub echo estimator has a large step gain and quick response for an echo. In an ordinary mode, the two echo estimators operate independently from each other. In an accumulating mode, the filter coefficients in the sub echo estimator are accumulated on related filter coefficients in the main echo estimator. In a reset mode, the coefficients of the sub echo estimator are reset, and then the mode is switched to the ordinary mode.
Echo canceller systems are known which include first and second echo cancellers for cancelling respective first and second echos across different echo paths. For example, in a loudspeaking telephone set with full-duplex operation, an acoustic echo path may arise between a loudspeaker and a microphone, and a line echo path may arise at a hybrid transformer which connects the set's four-wire system to a two-wire local customer loop. A first echo canceller may be used for cancelling the line echo, and a second echo canceller may be used for cancelling the acoustic echo. Each echo canceller is likely to require continuous adaptive processing, which places heavy demands on processing power (or MIPs). Furthermore, the first and second echo cancellers may each include two or more filters, as described by Ochiai et al., Crochiere et al., and Yatsuzuka et al., supra, with each filter requiring its own coefficient memory (or memory space). As a result, echo canceller systems may require a large amount of processing power and memory space.
Based on the foregoing, there is a need for an echo canceller system with more efficient use of processing power and memory space.