Previous PageTable Of ContentsHomeIndexNext Page


8.2.  How Echo Cancellation Resource Works

The Dialogic echo canceller accepts two SCbus input data streams.

One stream contains data that is identical to that which was transmitted to the echo-producing circuit (Transmit Signal in Figure 19.  Echo canceller with Relevant Input and Output Signals).

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 19.  Echo canceller with Relevant Input and Output Signals


The purpose of the echo canceller is to reduce sufficiently the magnitude of the echo component, such that it does not interfere with further processing or analysis of the echo-cancelled 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-cancelled signal.

Figure 20.  Echo canceller Operating over an SCbus illustrates the signals used in the echo canceller.


Figure 20.  Echo canceller Operating over an SCbus


For echo cancellation, an extra SCbus time slot is assigned to each voice device for use by the ECR feature. In order to activate ECR mode, the application must route two receive time slots to the voice channel.

Once the ECR feature is enabled on a board, each voice channel is also permanently assigned two SCbus transmit time slots. These time slots are referred to as the voice-transmit time slot and the echo cancellation-transmit time slot. You can retrieve the time-slot numbers for each via the dx_getxmitslot( ) and dx_getxmitslotecr( ) functions, respectively. If the ECR feature is not enabled, the channels are not assigned the echo cancellation SCbus transmit time slots, and ECR mode is not possible on any voice channel of that board.

The function dx_listen( ) routes the echo-carrying signal to the voice device. A call to dx_listenecr( ) or dx_listenecrex( ) routes the echo-reference signal to the voice channel and simultaneously activates ECR mode. The resulting echo canceller uses the echo-reference signal to estimate the echo component in the echo-carrying signal, and subtracts that estimate from the echo-carrying signal. This process results in an echo-cancelled signal with a greatly reduced echo component.

For another device to receive the echo-cancelled signal output by the echo canceller, it calls dx_getxmitslotecr( ) to retrieve the echo canceller's transmit time-slot number, and calls xx_listen( ) to connect its receive channel to the echo-cancelled signal.

To return the voice channel to Standard Voice Processing (SVP) mode, the application calls dx_unlistenecr( ) on the voice channel to stop the echo canceller, disable ECR mode, and disconnect the echo canceller's receive channel.

For examples of echo cancellation configurations, see section 8.4.  Application Models.


Previous PageTable Of ContentsTop Of PageIndexNext Page

Click here to contact Dialogic Customer Engineering

Copyright 2001, Dialogic Corporation
All rights reserved
This page generated January, 2001