102 Voice API Programming Guide — June 2005
Recording and Playback
8.12.2 Echo Cancellation Resource OperationThe echo canceller accepts two TDM bus input data streams. One stream contains data that is
identical to that which was transmitted to the echo-producing circuit (Transmit Signal in
Figure 15). The second stream, referred to as the echo-carrying stream, contains received data
from this circuit. The received data typically contains a signal with two time-varying signals
superimposed upon one another. One signal consists of a filtered version of the transmitted data
(referred to as echo) and the other signal originates at the far end (referred to as far-end speech).
Figure 15. Echo Canceller with Relevant Input and Output Signals
The purpose of the echo canceller is to sufficiently reduce the magnitude of the echo component,
such that it does not interfere with further processing or analysis of the echo-canceled data stream.
The echo canceller performs this function by computing a model of the impulse response of the
echo path using information in the echo-carrying signal. Then, given the impulse response model
and access to the echo reference signal, the echo canceller forms an estimate of the echo. This
estimate is then subtracted from the echo-carrying signal, forming a third, echo-canceled signal.
Figure 16 illustrates the signals used in the echo canceller. For echo cancellation, an extra TDM bus
time slot is assigned to each voice device for use by the ECR feature. To activate ECR mode, the
application must route two receive time slots to the voice channel.
Echo Canceller
Echo-
Carrying
Signal
Echo-
Cancelled
Signal
Analog
Device
Echo-Estimator
and other
control circuitry
Echo-Subtractor
(Echo-Carrying) —
(Echo-Estimate) =
Echo-Cancelled
Echo-Carrying
Signal
Echo
Producing
Circuit
Echo
Echo Reference Signal
Transmit Signal
of Another Device
RX
ECR_RX
TX
(Disabled
in ECR
Mode)
ECR_TX