# Frequency-Domain Adaptive Algorithm for Network Echo Cancellation in VoIP

- Xiang(Shawn) Lin
^{1}Email author, - Andy W.H. Khong
^{1}, - Milŏs Doroslovăcki
^{2}and - Patrick A. Naylor
^{1}

**2008**:156960

**DOI: **10.1155/2008/156960

© Xiang (Shawn) Lin et al. 2008

**Received: **1 November 2007

**Accepted: **8 April 2008

**Published: **22 April 2008

## Abstract

We propose a new low complexity, low delay, and fast converging frequency-domain adaptive algorithm for network echo cancellation in VoIP exploiting MMax and sparse partial (SP) tap-selection criteria in the frequency domain. We incorporate these tap-selection techniques into the multidelay filtering (MDF) algorithm in order to mitigate the delay inherent in frequency-domain algorithms. We illustrate two such approaches and discuss their tradeoff between convergence performance and computational complexity. Simulation results show an improvement in convergence rate for the proposed algorithm over MDF and significantly reduced complexity. The proposed algorithm achieves a convergence performance close to that of the recently proposed, but substantially more complex improved proportionate MDF (IPMDF) algorithm.

## 1. Introduction

The increase in VoIP traffic in recent years has resulted a high demand for high density NEC in which it is desirable to run several hundred echo cancellers in one processor core. Defining as the length of the impulse response, the PNLMS and IPNLMS algorithms require approximately and number of multiplications per sample iteration respectively compared to for the substantially slower converging NLMS algorithm. Hence, in order to reduce the computational complexity of PNLMS and IPNLMS, the sparse partial update NLMS (SPNLMS) algorithm was recently proposed [12], which combines two adaptation strategies: sparse adaptation for improving rate of convergence and partial-updating for complexity reduction. For the majority of adapting iterations, under the sparse partial (SP) adaptation, only those taps corresponding to tap-inputs and filter coefficients both having large magnitudes are updated. However, from time to time the algorithm gives equal opportunity for the coefficients with smaller magnitude to be updated by employing MMax tap-selection [13]. This only updates those filter taps corresponding to the largest magnitude tap-inputs. It is noted that partial update strategies have also been applied to the filtered-X LMS (FxLMS) algorithms as described in [14, 15]. Other ways to reduce the complexity of adaptive filtering algorithm include the use of a shorter adaptive filter to model only the active region of the sparse impulse responses as described in [16].

It is well known that frequency-domain adaptive filtering such as the fast-LMS (FLMS) algorithm [17] offers an attractive means of achieving efficient implementation. In contrast to time-domain adaptive filtering algorithms, frequency-domain adaptive algorithms incorporate block updating strategies, whereby the fast-Fourier transform (FFT) algorithm [18] is used together with the overlap-save method [19, 20]. However, one of the main drawbacks of these frequency-domain approaches is the delay introduced between the input and output, which is generally equal to the length of the adaptive filter. Since reducing the algorithmic processing delay for VoIP applications is crucial, frequency-domain adaptive algorithms with low delay are desirable especially for the identification of long network impulse responses. The multidelay filtering (MDF) algorithm [21] has been proposed in the context of acoustic echo cancellation for mitigating the problem of delay. This algorithm partitions an adaptive filter of length into blocks each of length . As a result, the delay of MDF algorithm is reduced by a factor of compared to FLMS. The benefit of low delay for MDF over FLMS in the context of NEC has been shown in [22].

The aim of this work is to develop a *low complexity*, *low delay*, and *fast converging* adaptive algorithm for identifying sparse impulse responses presented in the problem of NEC for VoIP applications. We achieve this by incorporating the MMax and SP tap-selection into the frequency-domain MDF structure. As will be shown in this work, applying the MMax and SP tap-selection to frequency-domain adaptive filtering presents significant challenges since the time-domain sparse impulse response is not necessarily sparse in the frequency domain. We first review in Section 2 the SPNLMS and MDF algorithms. We then propose, in Section 3.1, to incorporate MMax tap-selection into MDF structure for complexity reduction. We show how this can be achieved using two approaches and we compare their tradeoffs in terms of complexity and performance. We next illustrate, in Section 3.2, how the sparseness of the Fourier transformed impulse response varies with the number of blocks
in the MDF structure. Utilizing these results, we show how the SP tap-selection can be incorporated into the MDF structure for fast convergence and low delay. The computational complexity for the proposed algorithm is discussed in Section 3.3. In Section 4, we present the simulation results and discussions using both colored Gaussian noise (CGN) and speech inputs for NEC. Finally, conclusions are drawn in Section 5.

## 2. Review of the SPNLMS and MDF Algorithms

### 2.1. The SPNLMS Algorithm

The sparse partial (SP) update NLMS (SPNLMS) algorithm [12] utilizes the sparse nature of network impulse response. This algorithm incorporates two updating strategies: MMax tap-selection [13] for complexity reduction and SP adaptation for fast convergence. Although it is normal to expect that adapting filter coefficients using partial-updating strategies suffers from degradation in convergence performance, it was shown in [12] that such degradation can be offset by the SP tap-selection.

The variables and define the number of selected taps for MMax and SP, respectively, and the MMax tap-selection criteria given by (6) for the time-domain is achieved by sorting using, for example, the SORTLINE [23] and short sort [24] routines. It has been shown in [12] that, including the modest overhead for such sorting operations, the SPNLMS algorithm achieves lower complexity than NLMS. To summarize, SPNLMS incorporates MMax tap-selection given by (6) and SP tap-selection given by (7) for complexity reduction and fast convergence, respectively.

### 2.2. The MDF Algorithm

where denotes complex conjugate, is the forgetting factor and is the step-size with [21]. Letting be the input signal variance, the initial regularization parameters [8] are and . For and , MDF is equivalent to FLMS [17].

## 3. The Sparse Partial Update Multidelay Filtering Algorithm

The difference between (20) and (21) is that the latter employs , and we will describe in the following how this diagonal matrix can be obtained for the cases of MMax and SP tap-selection criterion.

### 3.1. The MMax-MDF Algorithm

_{N}and define a vector containing the subselected Fourier transformed tap-inputs as

Hence, it can be seen that elements in the vector
are obtained from the
block of the selected Fourier transformed tap-inputs contained in
with indices from
to
. The adaptation of MMax-MDF_{N} algorithm is described by (23)–(25) and (21).

_{N}algorithm requires additional divisions for tap-selection due to the normalization by in (23). Hence, to reduce the complexity even further, we consider an alternative approach where such normalization is removed so that elements of the diagonal tap-selection matrix are expressed as

for
and
. As opposed to MMax-MDF_{N}, we denote this scheme as the MMax-MDF algorithm since normalization by
is removed. Accordingly, elements in
for MMax-MDF are computed using (24) and (25), where
is obtained from (26). Hence, the adaptation of MMax-MDF algorithm is described by (24)–(26) and (21).

As will be shown in Section 4, the degradation in convergence performance due to tap-selection is less in MMax-MDF_{N} than in MMax-MDF. However, since reducing complexity is our main concern, we choose to use MMax-MDF as our basis for reducing the computational complexity of the proposed algorithm. As will be described in Section 3.2, the proposed algorithm incorporates the SP tap-selection to achieve, in addition, a fast rate of convergence.

### 3.2. The SPMMax-MDF Algorithm

for . Employing (32), the diagonal matrix in (21) for the SP tap-selection can be described by (24) and (25).

This enables to reduce with increasing hence allowing adaptation to be more concentrated on the "active" region. A good choice of has been found experimentally to be given by . The proposed SPMMax-MDF algorithm is described in Algorithm 1.

### 3.3. Computational Complexity

_{N}, and SPMMax-MDF to compute the term . We have also included the recently proposed IPMDF algorithm [22] for comparison. It should be noted that for MMax and SP tap-selection in (26) and (32), no additional computational complexity is introduced since and can be obtained from (18) and (17), respectively. For MMax-MDF

_{N}, however, computing the selected filter coefficients for adaptation using (23) incurs additional number of divisions. The complexity for each algorithm for an example case of , , and is shown in Table 2. It can be seen that the complexity of the proposed SPMMax-MDF is approximately of that for the MDF. Compared to MMax-MDF, SPMMax-MDF requires only an additional of multiplications and divisions. However, as will be shown in Section 4, the performance of SPMMax-MDF is better than MMax-MDF. Finally, the complexity of SPMMax-MDF is and of that for the IPMDF algorithm in terms of multiplications and divisions, respectively.

Complexity of algorithms.

## 4. Results and Discussions

We used a sampling frequency of 8 kHz and white Gaussian noise (WGN) was added to achieve a signal-to-noise ratio (SNR) of 20 dB. The following parameters for the algorithms are chosen for all simulations [22]: . Step-size control variable has been adjusted for each algorithm so as to achieve the same steady-state performance.

_{N}and MMax-MDF with using step-size control variables and for MMax-MDF

_{N}and MMax-MDF, respectively. We used a CGN input generated by filtering zero-mean WGN through a lowpass filter with a single pole [12]. It can be seen from Figure 5 that for each case of , the degradation in convergence performance due to tap-selection is less for the MMax-MDF

_{N}than the MMax-MDF. However, as shown in Tables 1 and 2, MMax-MDF

_{N}incurs additional divisions compared to the MMax-MDF algorithm.

## 5. Conclusions

We have proposed SPMMax-MDF for network echo cancellation in VoIP. This algorithm achieves a faster rate of convergence, low complexity, and low delay by novelly exploiting both the MMax and SP tap-selection in the frequency domain using MDF implementation. We discussed two approaches of incorporating MMax tap-selection into MDF and showed their tradeoff between rate of convergence and complexity. Simulation results using both colored Gaussian noise and speech inputs show that the proposed SPMMax-MDF achieves up to dB improvement in convergence performance with significantly lower complexity compared to MDF. In addition, the performance of our low cost SPMMax-MDF algorithm approaches that of IPMDF. Since the MDF structure has been applied for acoustic echo cancellation (AEC) [21] and blind acoustic channel identification [29], where the impulse responses are nonsparse, the proposed SPMMax-MDF algorithm can also be potentially applied to these applications for reducing computational complexity and algorithmic delay.

**Algorithm 1:** The SPMMax-MDF algorithm.

## Authors’ Affiliations

## References

- Goode B:
**Voice over internet protocol (VoIP).***Proceedings of the IEEE*2002,**90**(9):1495-1517. 10.1109/JPROC.2002.802005View ArticleGoogle Scholar - Chong HM, Matthews HS:
**Comparative analysis of traditional telephone and voice-over-internet protocol (VoIP) systems.***Proceedings of the IEEE International Symposium on Electronics and the Environment (ISEE '04), May 2004, Phoenix, Ariz, USA*106-111.Google Scholar - Kang H-G, Kim HK, Cox RV:
**Improving the transcoding capability of speech coders.***IEEE Transactions on Multimedia*2003,**5**(1):24-33. 10.1109/TMM.2003.808823View ArticleGoogle Scholar - Choudhury GL, Cole RG:
**Design and analysis of optimal adaptive de-jitter buffers.***Computer Communications*2004,**27**(6):529-537. 10.1016/j.comcom.2003.08.018View ArticleGoogle Scholar - Raake A:
**Short- and long-term packet loss behavior: towards speech quality prediction for arbitrary loss distributions.***IEEE Transactions on Audio, Speech, and Language Processing*2006,**14**(6):1957-1968.View ArticleGoogle Scholar - Sondhi MM, Berkley DA:
**Silencing echoes on the telephone network.***Proceedings of the IEEE*1980,**68**(8):948-963.View ArticleGoogle Scholar - Radecki J, Zilic Z, Radecka K:
**Echo cancellation in IP networks.***Proceedings of the 45th International Midwest Symposium on Circuits and Systems (MWSCAS '02), August 2002, Tulsa, Okla, USA***2:**219-222.Google Scholar - Benesty J, Gänsler T, Morgan DR, Sondhi MM, Gay SL:
*Advances in Network and Acoustic Echo Cancellation*. Springer, Berlin, Germany; 2001.View ArticleMATHGoogle Scholar - Duttweiler DL:
**Proportionate normalized least-mean-squares adaptation in echo cancelers.***IEEE Transactions on Speech and Audio Processing*2000,**8**(5):508-518. 10.1109/89.861368View ArticleGoogle Scholar - Benesty J, Gay SL:
**An improved PNLMS algorithm.***Proceedings of the IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP '02), May 2002, Orlando, Fla, USA***2:**1881-1884.Google Scholar - Cui J, Naylor PA, Brown DT:
**An improved IPNLMS algorithm for echo cancellation in packet-switched networks.***Proceedings of the IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP '04), May 2004, Montreal, Quebec, Canada***4:**141-144.Google Scholar - Deng H, Doroslovački M:
**New sparse adaptive algorithms using partial update.***Proceedings of the IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP '04), May 2004, Montreal, Quebec, Canada***2:**845-848.Google Scholar - Aboulnasr T, Mayyas K:
**Complexity reduction of the NLMS algorithm via selective coefficient update.***IEEE Transactions on Signal Processing*1999,**47**(5):1421-1424. 10.1109/78.757235View ArticleGoogle Scholar - Kuo SM, Morgan DR:
**Active noise control: a tutorial review.***Proceedings of the IEEE*1999,**87**(6):943-973. 10.1109/5.763310View ArticleGoogle Scholar - Carini A, Sicuranza GL:
**Analysis of transient and steady-state behavior of a multichannel filtered-****partial-error affine projection algorithm.***EURASIP Journal on Audio, Speech, and Music Processing*2007,**2007:**-15.Google Scholar - Deng H, Doroslovački M:
**Proportionate adaptive algorithms for network echo cancellation.***IEEE Transactions on Signal Processing*2006,**54**(5):1794-1803.View ArticleGoogle Scholar - Ferrara ER:
**Fast implementations of LMS adaptive filters.***IEEE Transactions on Acoustics, Speech, and Signal Processing*1980,**28**(4):474-475. 10.1109/TASSP.1980.1163432View ArticleGoogle Scholar - Cooley JW, Tukey JW:
**An algorithm for the machine calculation of complex Fourier series.***Mathematics of Computation*1965,**19**(90):297-301. 10.1090/S0025-5718-1965-0178586-1MathSciNetView ArticleMATHGoogle Scholar - Haykin S:
*Adaptive Filter Theory, Information and System Science*. 4th edition. Prentice-Hall, Upper Saddle River, NJ, USA; 2002.Google Scholar - Shynk JJ:
**Frequency-domain and multirate adaptive filtering.***IEEE Signal Processing Magazine*1992,**9**(1):14-37. 10.1109/79.109205View ArticleGoogle Scholar - Soo J-S, Pang KK:
**Multidelay block frequency domain adaptive filter.***IEEE Transactions on Acoustics, Speech, and Signal Processing*1990,**38**(2):373-376. 10.1109/29.103078View ArticleGoogle Scholar - Khong AWH, Naylor PA, Benesty J:
**A low delay and fast converging improved proportionate algorithm for sparse system identification.***EURASIP Journal on Audio, Speech, and Music Processing*2007,**2007:**-8.Google Scholar - Pitas I:
**Fast algorithms for running ordering and max/min calculation.***IEEE Transactions on Circuits and Systems*1989,**36**(6):795-804. 10.1109/31.90400View ArticleGoogle Scholar - Naylor PA, Sherliker W:
**A short-sort M-Max NLMS partial-update adaptive filter with applications to echo cancellation.***Proceedings of the IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP '03), April 2003, Hong Kong***5:**373-376.Google Scholar - Hoyer PO:
**Non-negative matrix factorization with sparseness constraints.***Journal of Machine Learning Research*2004,**5:**1457-1469.MathSciNetMATHGoogle Scholar - Benesty J, Huang YA, Chen J, Naylor PA:
**Adaptive algorithms for the identification of sparse impulse responses.**In*Selected Methods for Acoustic Echo and Noise Control*. Edited by: Hänsler E, Schmidt G. Springer, Berlin, Germany; 2006:125-153. - Khong AWH, Naylor PA:
**Efficient use of sparse adaptive filters.***Proceedings of the 40th Asilomar Conference on Signals, Systems and Computers (ACSSC '06), October-November 2006, Pacific Grove, Calif, USA*1375-1379.Google Scholar - Khong AWH, Naylor PA:
**Selective-tap adaptive filtering with performance analysis for identification of time-varying systems.***IEEE Transactions on Audio, Speech, and Language Processing*2007,**15**(5):1681-1695.View ArticleGoogle Scholar - Ahmad R, Khong AWH, Naylor PA:
**Proportionate frequency domain adaptive algorithms for blind channel identification.***Proceedings of the IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP '06), May 2006, Toulouse, France***5:**V29-V32.Google Scholar

## Copyright

This article is published under license to BioMed Central Ltd. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.