1.2.1 Echo Canceller
The echo canceller is a component in the CSP software that is used by applications to eliminate echoes in the incoming signal. In the scenario described in Section1.2, How CSP Works, the incoming signal is the utterance "Steve Smith." Because of the echo canceller, the "Steve Smith" signal has insignificant echo and can be processed more accurately by the speech recognition engine.
Figure1-3 shows a close-up view of how the echo canceller works. After the incoming signal is processed by the echo canceller, the resulting signal no longer has significant echo and is then sent to the host application.
If echo cancellation is not used, the incoming signal usually contains an echo of the outgoing prompt. Without echo cancellation, an application must ignore all incoming speech until the prompt and its echo terminate. These applications typically have an announcement that says, "At the tone, please say the name of the person you wish to reach."
With echo cancellation, the caller may interrupt the prompt, and the incoming speech signal can be passed to the ASR application.
The echo canceller is controlled by the ECCH_ECHOCANCELLER parameter in ec_setparm( ). It is turned on by default. For more information, see the Continuous Speech Processing API Library Reference.
1.2.1.1 Tap Length
- Note:
- On DM3 boards, tap length is not configurable. The tap length is fixed at 128 taps or 16 ms.
The duration of an echo is measured in tens of milliseconds. An echo canceller can remove some limited number of these milliseconds, and this number is known as the length of the echo canceller. The length of an echo canceller is sometimes given as "taps," where each tap is 125 microseconds long.
The longer the tap length, the more echo is cancelled from the incoming signal. However, this means more processing power is required. When determining the tap length value, consider the length of the echo delay in your system as well as your overall system configuration.
To configure the tap length of the echo canceller, use DXCH_EC_TAP_LENGTH in ec_setparm( ). For more information, see the Continuous Speech Processing API Library Reference.
1.2.1.2 Adaptation Modes
- Note:
- On DM3 boards, the adaptation mode parameter is not supported.
The echo canceller has two adaptation modes:
- Fast mode, for rapid convergence. Fast mode is used immediately after the echo canceller is reset and once energy is detected on the reference signal. Fast mode means that a higher adaptation gain factor (AGF) is used. Convergence occurs at a faster rate, but the residual error or echo is greater than in slow mode.
- Slow mode, for slower convergence. Slow mode is used the rest of the time. This second mode is entered automatically after a few seconds of fast mode. Slow mode means that a lower adaptation gain factor (AGF) is used. Convergence occurs at a slower rate, but residual error or echo is lower.
To configure the mode, use the ECCH_ADAPTMODE parameter in ec_setparm( ). For more information, see the Continuous Speech Processing API Library Reference.
Regardless of the parameter value, the echo canceller always starts with a higher automatic gain factor (fast mode) after it is reset, and then switches to a lower automatic gain factor (slow mode).
By starting with fast mode, then switching to slow mode, the echo canceller can converge rapidly and achieve smaller residual echo.
Two factors are used in determining the switch from fast to slow mode:
When ECCH_ADAPTMODE is set to 0, both factors are used. When ECCH_ADAPTMODE is set to 1, the second factor only (adaptation time) is used.
Click here to contact Dialogic Customer Engineering
Copyright 2001, Intel Corporation