04-10-2012, 05:17 PM
Designing an Echo Canceller System Using the TMS320C50 DSP
Designing an Echo Canceller.pdf (Size: 208.75 KB / Downloads: 34)
Abstract
This application report describes an echo canceller system using
the Texas Instruments (TI™) TMS320C50 digital signal processor
(DSP). The system is based on based on low resolution timedelay
estimation, using the knowledge that mainly one or two
active regions (depending on the number of reflections in the
communication channel) characterize the impulse response of a
typical echo-path in telephony communications.
These active regions usually have a duration that is only a small
fraction of the total supported length. Low-resolution time-delay
estimators track those active regions where short-length adaptive
filters are centered, assuring an accurate echo-path estimation.
A speech detector is employed to avoid erroneous time-delay
estimates and adaptive filter coefficient drift. Using a single
TM5320C50 DSP with no external memory, the system detects
and cancels an echo with a delay of more than 380 ms.
Considering a configuration with 64Kwords of data memory, the
maximum supported delay is greater than 2.5s.
The resulting system enables long delay echo cancellation with
reduced computational effort, while achieving greater
convergence speed and lower residual error, when compared with
other systems reported in recent literature.
This document was part of the first European DSP Education and
Research Conference that took place September 26 and 27, 1996
in Paris. For information on how TI encourages students from
around the world to find innovative ways to use DSPs, see TI’s
World Wide Web site at www.ti.com.
Introduction
With the development of ISDN, mobile digital telephones, and
teleconferencing systems, echo cancellation has become an
important consideration. Delays caused by temporal multiplexing,
channel coding, and speech coding are significant and compare
with delays in long-distance communications. In satellite
communications, far-end echoes can have delays greater than
half a second.
The typical solution uses an adaptive FIR filter with more than
4000 taps (using the standard 8KHz sampling rate) and the same
number of associated coefficients. The computational effort
needed makes this kind of echo canceller uncommon in low-cost
products.
However, mainly two active regions, corresponding to the nearand
far-end signal echoes, characterize the echo-path impulse
response. Intermediate delays are possible but not consistent .1
The length of the active regions is usually much shorter than the
total echo-path length. The proposed system shown in Figure 1
uses two echo cancellers, one for each communication direction,
and a speech detector. A centered adaptive filter and a time-delay
estimator compose each echo-canceller. The delay estimator
tracks the position of the most significant signal reflection on each
direction.
Based on that information the corresponding short-length adaptive
filter is centered. The speech detector avoids erroneous delay
estimates and adaptive filter coefficients drift. It inhibits the filter
coefficients adaptation and delay estimation in unfavorable
situations. Compared with the conventional solution, the resulting
algorithm has improved computational effort and achieves greater
convergence speed and reduced residual error.
Adaptive Filtering in Echo Cancellation
Echo cancellation is usually achieved using an adaptive filter. The
adaptive filter synthesizes a replica of the echo signal and
subtracts it from the returned signal (see Figure 2).
The received signal from the far end talker, rn(i), is transmitted
through the speaker to the near end. A version of this signal is
received from the microphone (due, for example, to direct coupling
between the speaker and the microphone), together with the near
end speech, constituting the received signal from the acoustic
channel, ra(i).
Coarse Time-Delay Estimation
The correct estimation of the involved echo delays is an extremely
important subject in this work. It is supported on this knowledge
that the short length adaptive filters can be centered. Jacovitti and
Scarano investigate the basic aspects of time delay estimation
(TDE) based on sampled signals.3 The direct cross-correlation
method (DC) is analyzed and compared to the average square
difference function (ASDF) and the average magnitude difference
function (AMDF).
We have chosen the direct cross-correlation method, which
outperforms the others for low signal-to-noise ratios (SNR).3
Figure 5 shows the supporting simulation results for a simulated
echo path with a transfer function computed by Jacovitti and
Scarano (adopted from Margo and Etter).1 3
Speech Detection
Speech detection is a serious issue in echo cancellation.4 5 6
When there is double-talking (that is, both speakers are talking),
the received signal is a composition of the received echo and the
signal from the other speaker. If no action is taken, adaptive filter
coefficient drift can occur. Additionally, in the proposed system,
double-talking can originate erroneous time-delay estimation.7 The
strategy is to inhibit the adaptation and the time-delay estimation
when double-talking is detected.
A speech detector is developed to avoid the referred problems. A
version of the algorithm presented by Messerschmitt et al. is
used.4
Let ra(i) and rn(i) be the received signal from the acoustic channel
and the received signal from the network, respectively. Near-end
speech is declared when equation (5) is verified.
Centered Adaptive Filter
The signal power for the NLMS step calculation is recursively
computed, based on the actual delay estimation. Supported by
Messerschmitt et al. and real situation tests, the considered active
region of the echo path impulse response is 2ms.4 We doubled
that value to avoid a little change in the delay that could force the
adaptive filter position change.
Figure 6 shows the centered adaptive filter algorithm. In each
iteration, the adaptive filter checks if the estimated delay (named
center) has moved more than 25% of the total active region
number of taps. The new position is accepted (centerAct=center)
only in that case.
If the position is to be maintained and the speech mode is correct
(far end speech in the case of acoustic echo cancellation), the
echo estimate, o(i), is computed. The considered power for the
step size computation is based on the signal centered in the
estimated delay.