Acoustic Echo Cancellation
Acoustic Echo Cancellation
Acoustic Echo Cancellation
Co - Advisor: Mr.Desalegn.K
Submission Date:-/-/2022
Bule Hora ,Ethiopia
Declaration
We, the undersigned, declare that this thesis shall be our original work, and the project work
has not been presented for a degree in this or any other universities and all sources of
materials that will be used for the project work will have been fully acknowledge.
Name ID Number Signature
1. Desale chali 1440/10 ________________
2. Mosisa Nugusa 0921/10 _______________
3. Jiregna Marara 0526/10 ________________
4. Daba Fufa 0706/10 _______________
Approved by: -
Advisor
Name:luiel.N
Signature:
_______________
Co - Advisor: -
Desalegn.K
Signature:
_______________
ANALYSIS OF ACOUSTIC ECHO CANCELLATION IN 2022
TELECONFERENCE USING ADAPTIVE FILTER
Acknowledgment
At the very beginning we would like to express our deepest gratitude to almighty God for giving
us the strength and the composure to prepare this document within the scheduled time. Then we
would like to express our gratitude to our Adviser Luile.N without his Assistance and
dedicated involvement in every step throughout the process, this proposal would have never
been accomplished. Finally, we consider it ultimate to pay regards to our parents and all the
teachers. Electrical Engineering Department Electronics and Communication Stream and we
would like to thank our friends and classmate who helped us a lot in finalizing this project.
Contents
Declaration .......................................................................................................................................................... ii
Acknowledgment ................................................................................................................................................. 3
Abstract ................................................................................................................................................................ 6
Abbreviations ....................................................................................................................................................... 7
1. INTRODUCTION............................................................................................................................................ 8
CHAPTER TWO................................................................................................................................................ 19
3.5 The overall system design of this project are viewed by this diagram ..................................................... 32
3.6 Matlab....................................................................................................................................................... 36
REFERENCE ..................................................................................................................................................... 52
Appendix ............................................................................................................................................................ 55
Abstract
In modern telecommunication systems like hands-free and teleconferencing systems, the
Problem arise during conversation is the creation of an acoustic echo. This problem degrades
the quality of the information signal. All speech processing equipment‟s like noise cancelling
headphones and hearing aids should be able to filter different kinds of interfering signals and
produce a clear sound to the listener. Currently, echo cancellation is a most interesting and
challenging task in any communication system. Echo is the delayed and degraded version of
original signal which travels back to its source after several reflections. Eliminating this
effect without affecting the original quality of the speech is a challenge of research in present
days. Echo cancellation in voice communication is a process of removing the echo to
improve the clarity and quality of the voice signals. In our thesis we mainly focused on the
acoustic echo cancellation using LMS and NLMS algorithms to reduce this unwanted echo,
thus increasing communication quality. The Acoustic echo cancellation with adaptive
filtering technique will more accurately enhance the speech quality in hands free
communication systems. The main aim of using adaptive algorithms for echo cancellation is
to achieve higher ERLE at higher rate of convergence with low complexity. The adaptive
algorithms NLMS, is implemented using MATLAB. This algorithm is tested with the
simulation of echo occurring environment by using constant room dimensions, microphone
and source positions. The performance of the NLMS is evaluated in terms ERLE and
misalignment. A teleconference is a telephone meeting among two or more
participants involving technology more sophisticated than a simple two-way phone
connection. At its simplest, a teleconference can be an audio conference with one or both
ends of the conference sharing a speaker phone. With considerably more equipment
and special arrangements, a teleconference can be a conference, called a
videoconference, in which the participants can see still or motion video images of each
other. Because of the high bandwidth of video and the opportunity for larger and multiple
display screens, a videoconference requires special telecommunication arrangements and a
special room at each end. A teleconference is an easy and affordable way to conduct
meetings between people unable to meet face-to-face. It can be used to educate or train,
collaborate and network.
Abbreviations
AEC Normalized Least Mean Square
ANC
PSTN Active Noise Control
NLMS
RIR Convergence Rate
ERLE
FIR
SNR
CRA
Room Impulse
Response
Echo Return Loss
Enhancement
Finite Impulse
Response
Signal to Noise
Ration
coustic Echo
Cancellation
Active Noise
Control
Public Switched
Telephone
Network
CHAPTER ONE
1. INTRODUCTION
Acoustic echo cancellation is important for audio teleconferencing when simultaneous
Communication (or full-duplex transmission) of speech is necessary. In acoustic
echo cancellation a measured microphone signal contains two signals. The near-end speech
signal and the far-end echoed speech signal. The acoustic echo, which is also known as a
multipath echo is produced by Poor voice coupling between the earpiece and microphone
in handsets and hands-free Devices. The goal is to remove the far-end echoed speech
signal from the microphone signal so that only the near-end speech signal is transmitted.
Speech enhancement is a globally rampant topic in research due to the use of speech enabled
systems in a variety of real-world telecommunication applications [4].
The rapid growth of technology in recent decades has changed the whole dimension of
communications. Today people are more interested in hands-free communication. This
would allow more than one person to participate in a conversation at the same time such as a
teleconference environment. Another advantage is that it would allow the person to have
both hands free and to move freely in the room. However, the presence of a large
acoustic coupling between the loudspeaker and microphone would produce a loud echo
that would make conversation difficult. This is the main problem in hands free
communication. When the speech signal is generated in the reverberated environment, the
echo is created. This acoustic echo is actually the echo which is created by the reflection of
sound waves by the walls of the room and other things that exist in the room such as
chairs, tables etc. The solution to this problem is the elimination of the echo and provides
echo free environment for speakers during conversation. This process of acoustic echo
cancellation is truly useful in enhancing the audio quality of a hand free communication
system. It prevents the listener fatigue and makes participants more comfortable [7].
In hands-free telephony and in teleconference systems, the main aim is to provide a good free
voice quality when two or more people communicate from different places. The problem
often arises during the conversation is the creation of acoustic echo. This problem will cause
the bad quality of voice signal and thus talkers could not hear clearly the content of the
conversation, even though lost the important information. This acoustic echo is actually the
noise which is created by the reflection of sound waves by the wall of the room and the
other things exist in the room. Since the advent of telephony
objects back to the microphone. The result of the reflections is the creation of a multipath
echo and multiple harmonics of echoes, which are transmitted back to the far-end and are
heard by the talker as an echo unless eliminated. Adaptive cancellation of such acoustic
echoes has become very important in hands-free communication systems such as
teleconference or videoconference systems.
Adaptive filter is a good supplement to achieve a good replica because of the echo path is
usually unknown and time-varying. The figure below illustrates about three step of the AEC
using adaptive filter. Using adaptive filter for AEC follows the three basic steps above:
1. Estimate the characteristics of echo path h (n) of the room: ℎ (n)
2. Create a replica of the echo signal: (n)
3. Echo is then subtracted from microphone signal (includes near-end and echo signals) to
obtain the desired signal: clear signal = d (n) − (n)
In the modern digital communication system such as: Public Switched Telephone Network
(PSTN), Voice over IP (VoIP), Voice over Packet (VoIP) and cell phone networks; the
application of AEC is very important and necessary because it brings the better quality of
service and obtains the main purpose of the communication service providers.
that has a transfer function controlled by variable parameters and a means to adjust those
parameters according to an optimization algorithm. Because of the complexity of the
optimization algorithms, almost all adaptive filters are digital filters. Adaptive filters are
required for some applications because some parameters of the desired processing operation
(for instance, the locations of reflective surfaces in a reverberant space) are not known in
advance or are changing. The closed loop adaptive filter uses feedback in the form of an error
signal to refine its transfer function. The term filter is frequently referred to as a system
which is intended to extract valuable information about a prescribed quantity of curiosity
from a noisy channel or data. With such an extensive aim, the filter theory finds applications
in many diverse fields, such as communication system (for example telephone exchanges),
biomedical engineering, radars, sonar‟s.
An adaptive filter is the one which self-adjust its transfer function according to its input by
using some optimizing algorithms such as LMS, NLMS and RLS, which makes it probable
for the filter to perform satisfactorily in an environment where complete knowledge about the
relevant signal characteristics is not available. The algorithm starts its computation from
prescribed initial condition and use information contained in the input data in order to
estimate the weights of the filter. As the parameters of adaptive filters are updated from one
iteration to next, it means that the parameters of the filter become information reliant provide
that the adaptive filter in reality is a non-linear system. A system is said to be non-linear if it
do not obeys the principle of superposition otherwise system is linear .Adaptive filters have
extensive applications. They are used for adaptive noise and echo cancellation system
identification, channel equalization, adaptive inverse system configuration and adaptive
linear prediction. Nowadays a day a wide Varity of adaptive algorithm is available.
The choice of an adaptive filter heavily depends upon one of the following factors:-
Computational requirements.
Rate of convergence.
Robustness.
Numerical properties.
Structure.
These abovementioned factors influences a great deal on the selection of an adaptive
Algorithm for the cancellation of noise and echo. In this paper adaptive filter algorithms such
as Least Mean Square (LMS), Normalized Least Mean square (NLMS) and Recursive Least
Square (RLS) are used for adaptive noise cancellation and echo cancelation. The simulation
results shows the efficiency of adaptive algorithms in the presence of white noise. The rest of
the paper is organized as follows: Section I represents the system model for adaptive noise
cancellation and adaptive echo cancellation. Section III represents the adaptive algorithms
such Least Mean Square (LMS), Normalized Least Mean Square (NLMS), Recursive Least
Square (RLS). In Section IV, simulation results are presented and Section Concludes the
paper.
Application of adaptive filter.
Owing to the powerful digital signal processors and the development of advanced adaptive
algorithms there are a great number of different applications in which adaptive filters are
used. The number of different applications in which adaptive techniques are being
successfully used has increased enormously during the last two decades. There is a wide
variety of configurations that could be applied in different fields such telecommunications,
radar, sonar, video and audio signal processing, noise reduction, between others.
The adaptive filtering is an important part of statistical signal processing. The adaptive filters
are mostly used where the statistical parameters of the system are unknown or in anon-
stationary environment. The use of adaptive filtering provides us new signal processing
capabilities which were not possible with ordinary fixed filters. In this paper adaptive filter
algorithms such as Least Mean Square (LMS) and Normalized Least Mean Square (NLMS)
are used for adaptive noise cancellation and echo cancelation. The simulation results show the
efficiency of adaptive algorithms in the presence of white noise. During analysis of LMS and
NLMS it is concluded that the performance of NLMS algorithm is better than LMS
algorithms for the considered problem.
Select and collect the reading materials that used to for the
project.
Design and analysis the mathematical model and simulation
system.
CHAPTER TWO
LITRATURE REVIEW
2.1 Over view
Echo is the reflected copy of the voice heard some time later and a delayed version of the
Original sound or electrical signal is reflected back to the source. Echo is a congenital
Problem which mainly occurs in PSTN (public switching telephone network). Echo occurs in
analogy part of a telecommunication system. Echoes of our speech are heard as they are
reflected from the floor, walls and other neighboring objects. If a reflected wave arrives
after a very short time of direct sound, it is considered as a spectral distortion or
reverberation. However, when the leading edge of the reflected wave arrives a few tens of
milliseconds after the direct sound, it is heard as a distinct echo. In data communication, the
echo can incur a big data transmit error. In applications like hands free telecommunications,
the echo, with rare exceptions, conversations take place in the presence of echoes.
CHAPTER THREE
SYSTEM OF DESIGN
3.1 Mean Square Error (MSE) Adaptive Filters.
Adaptive filter have several algorithms from those this project is based on least mean square
and normalized least mean square there working principle are listed below.
The main reason for the LMS algorithms popularity in adaptive filtering is its computational
simplicity, making it easier to implement than all other commonly used adaptive algorithms.
For each iteration the LMS algorithm requires 2N additions and 2N+1 multiplications (N for
calculating the output, y(n), one for 2μe(n) and an additional N for the scalar by vector
multiplication.
1
(𝑛 + 1) = 𝑊(𝑛) + 𝑒(𝑛)𝑥(𝑛)
𝑋 𝑇 (𝑛)𝑥(𝑛)
As the NLMS is an extension of the standard LMS algorithm, the NLMS algorithms practical
implementation is very similar to that of the LMS algorithm. Each iteration of the NLMS
algorithm requires these steps in the following order [32].
Implementation of the NLMS algorithm:
1. The output of the adaptive filter is calculated.
𝑁−1
2. An error signal is calculated as the difference between the desired signal and the filter
output.
e(n)=d(n)−y(n)
1
𝜇(𝑛) =
𝑥(𝑛)𝑥(𝑛)𝑇
4. The filter tap weights are updated in preparation for the next iteration.
w(n+1) =w(n)+𝜇(𝑛)𝑒(𝑛)x(n)
𝑇ℎ𝑒 𝑣𝑎𝑙𝑢𝑒𝑠 𝑜𝑓 𝑟 𝑑𝑎𝑛𝑑 𝜎 are not available in practice, so we define the new estimated
decision statistic as,
𝑅𝑒𝑑
𝜉𝑁𝐶𝐶 = 1 −
𝑑
Where,
𝑟 𝑑 𝑖𝑠 𝑡ℎ𝑒 𝑒𝑠𝑡𝑖𝑚𝑎𝑡𝑒 𝑜𝑓 𝑟 𝑑
𝜎𝑑 𝑖𝑠 𝑡ℎ𝑒 𝑒𝑠𝑡𝑖𝑚𝑎𝑡𝑒 𝑜𝑓 𝜎
We can found these estimates by using the exponential recursive weighting algorithm
Where,
e(n) is the captured cancellation error sample at time n
d(n) is the captured microphone signal sample at time n
λ is the exponential weighting factor (λ <1 and λ ≈1)
3.3 Various parameters to calculate filter
performance
Convergence rate (CR)
Convergence rate is a performance specification of acoustic echo cancellers. The
convergence rate should be fast to estimate the desired filter. The convergence rate is defined
as the number of iterations required for the algorithm to converge to its steady state mean
square error.
Estimated error
Mean square estimation is the average of the squares of the error.
The mean square estimation is given as
𝜉 = ∑|(𝑖 )| 2
Complexity
The computational complexity is the measure of the number of arithmetic calculations like
multiplications, additions and subtractions for different adaptive algorithms.
(𝑛) 2
10𝑙𝑜𝑔10 | ( )
| ⁄
𝑆𝑁𝑅𝑖𝑛 = 𝑛
(𝑛)2
10𝑙𝑜𝑔10 | ( )
| ⁄
𝑆𝑁𝑅𝑜𝑢𝑡 = 𝑛
Where 𝑠𝑜𝑢𝑡 and 𝑛𝑜𝑢𝑡 are the filtered outputs of the Wiener beam former i.e. pure speech
signal s(n) and pure noise signal d(n) separately and also „n‟ is the length of the speech and
noise signals
3.4 Measurement of the echo cancellation:
3.4.1 Echo return loss enhancement
(ERLE):
Echo return loss enhancement is the ratio of input desired signal power and the power of a
residual error signal immediately after echo cancellation. It is measured in dB. ERLE
depends on the size of the adaptive filter and the algorithm design. The higher the value of
ERLE represents the better echo cancellation. It also measures the amount of loss introduced
by the adaptive filter. The ERLE measurement helps to calculate echo loss done by the
adaptive algorithm. In our simulations we noticed that ERLE increases with the increase in
the order of the filter.
𝑝𝑑
𝐸𝑅𝐿𝐸 = 10𝑙𝑜𝑔 ( )
𝑝
𝑒
Where pd is the desired signal power and pe is the power of a residual error signal after echo
cancellation.
3.4.2 Misalignment:
In our thesis we also evaluated the performance of the echo canceller in terms of the
misalignment as defined by
‖𝒉 − 𝒉‖
∈=
‖𝒉‖
Where || . || denotes the norm of a vector and h = [h(0),…..h(L-1)]. It measures the mismatch
between the true and the estimated impulse response of the receiving room.
Receiving room is where the acoustic coupling between the loud speaker and the microphone
happens and thus echo generates.
3.5 The overall system design of this project are viewed by this diagram
Adaptive filter is the most important component of acoustic echo canceller and it plays a key
role in acoustic echo cancellation. It performs the work of estimating the echo path of the
room for getting a replica of echo signal. It requires an adaptive update to adapt to the
environmental change. Another important thing is the convergence rate of the adaptive filter
which measures that how fast the filter converges for best estimation of the room acoustic
path.
2. Double-talk detector (DTD)
It is rather difficult to predict when the adaptation of the filter should stop or slow down and
it is also important to know that the near-end speech signal exists or not in the presence of
far-end signal. In the situation when both ends talk (near-end and far-end), this is known as
double-talk. In case of double-talk, the error signal will contain both echo estimation error
and near-end speech signal. When we use this signal for updating the filter coefficient then it
diverges. As the result, the adaptive filter will work incorrectly and finally the bad sound
signal was issued. So to overcome this problem, one uses Double-talk Detector.
3. Nonlinear Processor (NLP)
The nonlinear processor (NLP) is required for completely or partly cancels the residual signal
in the absence of near-end speech signal. By removing the residual signal will cancel any
occurring acoustic echo. The NLP will gradually cancel the signal and insert a form of
comfort noise to give the impression to far-end. The NLP as well as the adaptive filter need
an accurate estimation from the DTD to operate efficiently
The figure below shows the basic model of adaptive filter used in AEC. Most extensively
used algorithms in this research employment are LMS and NLMS.
The notations are used in the figure above and during this thesis in turn are:
Far-end signal: x(n)
Near-end signal: v(n)
The true echo path (room impulse response): h
Echo signal: y(n)
Microphone signal: d(n) = v(n) + y(n)
𝐸𝑠𝑡𝑖𝑚𝑎𝑡𝑒𝑑 𝑒𝑐ℎ𝑜 𝑝𝑎𝑡ℎ: ℎ
𝐸𝑠𝑡𝑖𝑚𝑎𝑡𝑒 𝑒𝑐ℎ𝑜 𝑠𝑖𝑔𝑛𝑎𝑙: (𝑛)
Error signal: e(n) = v(n) + y(n) −(n)
The echo path h of the room normally variable depends on the room structure and the moving
object inside. The estimated echo(n) is calculated from the reference input signal x(n) and the
adaptive filter. The near-end signal v(n) and background noise are added into echo signal y(n)
to create the desired signal d(n) ,
d(n) = v(n) + y(n)
The signal x(n) and y(n) are correlated. We get the error signal as,
error(n) = d(n) −(n)= v(n) + y(n) −(n)
The adaptive filter works to minimize the echo (y(n) −(n)) to be zero to obtain only near-end
signal v(n) in the perfect case. In Acoustic Echo Cancellation (AEC), the adaptive filter plays
the main role to adapt the filter tap weight in order to overcome the echo problem. There
are different types of algorithms are used for this purpose such as Least Mean Square (LMS),
Normalized Least Mean Square (NLMS), Recursive Least Square (RLS) and Affine Projection
Algorithm (APA) and etc. The LMS is widely used algorithm for adaptive application
such as channel equalization and echo cancellation. This algorithm is the most simple if we
compare it with NLMS and RLS algorithm. The normalized least mean square(NLMS) is
also famous algorithm due to its computational simplicity
3.6 Matlab.
MATLAB is a numerical computing environment that especially effective to calculate and
simulate the technical problems. This programming language is very powerful allows matrix
manipulation, plotting of functions and data, implementation of algorithms, creation of user
interfaces, and interfacing with other programming languages (C, C++, for Tran and Java).
One of the most beneficial features is graphical visualization which helps us have confidence in
results by monitoring and analyzing resultant plots. In addition, MATLAB implement
Simulink, the software package models, simulates, and analyzes dynamic systems. It enables us
to pose a question about a system, model the system, and see what happens. For our
simulation purpose, MATLAB actually is necessary and effective software to attain the
convincible results because of some reasons as following [33]:
Easy to record audio signals of the far-end and near-end speeches. These data
are indispensable of the simulation.
Matrix calculation is very important since data was processed as the matrix formats.
Easy to monitor the results by plotting desired graphs. Especially, we need to hear
the resultant sounds by MATLAB, it is simple to achieve the structure of the
commands is suitable to compute with Signal Processing.
The input signals (far-end and near-end talker signals) were voices. These voices were
stored as wav files and the wav files were easily imported into the code.
The intermediate signals (echo signals) and output signals (error signal and signals
obtained after echo cancellation) were obtained as wav files. Thus the audio of the voice
signals could be literally being heard, which aided immensely judgments with respect to
the results obtained.
The signal processing toolbox has in-built functions for almost all signal
processing applications. The toolbox helped the efficiency of the code since these
functions could be called wherever necessary instead of writing separate sub-routines.
Since MATLAB supports graphics, the results of a simulation could be presented
in a graphical format with ease.
The speech signals (including far-end and near-end signals) were recorded by MATLAB
software at the sampling rate of 8 kHz. The speech signal is the audio signal contains the
frequencies between 300Hz-3400Hz. Because of the sampling theorem (Nyquist–Shannon
sampling theorem), the analog signal will reconstruct perfectly from the sequence of samples if
the sampling rate exceeds 2B (B is highest frequency of the analog signal). Thus by using
sampling rate fs of 8000Hz, we will satisfy to the
sampling theorem (fs=8000Hz>2B=3400x2=6800Hz).
For our simulation, the duration of the signals is 20 seconds (160.000 samples) which can
express 4 cases (5 seconds for each case, respective to 40.000 samples) of the communication
between far-end and near-end in the teleconference system. These signals are plotted as the
figures below. 4 cases in teleconference are:
1. Far-end talks only.
2. Double talk.
3. Near-end talks only.
4. Both of them are silent.
0 < μ <1
Length of adaptive filter: L
Initial Conditions: Input vector:𝑥 , = [0,0, . . . ,0]
Weight vector:𝑊 , =[0,0, . . . ,0]
MATLAB code
Initial Conditions: mu=0.014;
L=length(h); %the same length of RIR
w=zeros(L,1); %Initial weight vector
xin=zeros(L,1); %Initial input signal
For each instant of time, k = 1, 2,…, compute:
CHAPTER FOUR.
You first need to model the acoustics of the loudspeaker-to-microphone signal path where the
speakerphone is located. Use a long finite impulse response filter to describe the characteristics of
the room. The following code generates a random impulse response that is not unlike what a
conference room would exhibit. Assume a system sample rate of 16000 Hz.
Figure:microphone signal.
Figure:nlms comparsion….
4.2 Discussion
From the experiment works and the resultant graphs, we can evaluate the echo cancellation
algorithm in order to have a deeper understanding and the conclusion of the thesis. Results
above of two echo cancellation algorithms are LMS and NLMS, we have some evaluations as
follow. And rather we design Simulink to be shown how echo cancel by MAT LAB. That is
simple use as an input sine wave and as a noise white Gaussian noise.
1. Comparison between LMS and NLMS
Both of them could converge approximately the estimated impulse response h of the true
room impulse response h, thus the estimated echo y (n) signal look like similar to the true
echo signal y(n) .
2. Convergence test
Convergence is the most important factor to observe when running the echo cancellation
algorithm. If the filter coefficients used in the adaptive filter algorithm did not converge, the
code could get problem. In this simulation, we used the standard signals as white noise (as the
input signals), the low pass filter (model the impulse response) to check the operation of the
algorithm. If the problem still exists, then we verify the convergence factor. By varying this
factor, we can control and adjust the convergence of the adaptive filter algorithm.
3. Echo Return Loss Enhancement (ERLE)
This parameter is used in order to evaluate the quality of the echo cancellation algorithm. If the
echo cancellation algorithm perform well, then the values of ERLE should be in the range of
(45dB, -40dB) (for Signal to Noise ratio SNR of 45dB).
CHAPTER FIVE
5.2 Recommendation
Future work can be extended by implementing the experimental setup for the double talk
situations. Double talk is an important characteristic of a good acoustic echo canceller. It is a
condition where both the, far-end user and near-end user speak simultaneously. Comparing
the performance of double talk detector with the other adaptive algorithms is also equally
important. The work in thesis is regarded as work in offline mode so implementing the system
for real-time can be done in future work. There is a lot, which can be done in future for
improvement on the methods for acoustic echo cancellation. The field of digital signal
processing and in particular
REFERENCE
[1] Iqbal, M.A., Stokes, J.W. and Grant, S.L., 2007, July. Normalized double-talk detection based on
microphone and AEC error cross-correlation. In 2007 IEEE International Conference on Multimedia and
Expo (pp. 360-363). IEEE.
[2] Benesty, J., Amand, F., Gilloire, A. and Grenier, Y., 1995, May. Adaptive filtering algorithms for
stereophonic acoustic echo cancellation. In 1995 international conference on acoustics, speech, and signal
processing (Vol. 5, pp. 3099-3102). IEEE.
[3] Haykin, S. and Widrow, B. eds., 2003. Least-mean-square adaptive filters (Vol. 31). John Wiley &
Sons.
[4] Sudhir, V.V., Murthy, A.S.N. and Rani, D.E., 2014. Acoustic echo cancellation using
adaptive algorithms. International Journal of Advances in Computer Science and
Technology, 3(4).
[5] Schroeter, J. and Sondhi, M.M., 1992. Speech coding based on physiological models of
speech production. Advances in speech signal processing, pp.231-267..
[6] Hayes, M.H., 2009. Statistical digital signal processing and modeling. John Wiley & Sons..
[7] Jacob Benesty, Tomas Gansler, Denis R. Morgan, M. Mohan Sondhi and Steven L. Gay,
“Advances in Network and acoustic echo cancellation”, ISBN: 3- 540-41721-4, Springer,
2001.
[8] Habets, E.A., 2006. Room impulse response generator. Technische Universiteit Eindhoven,
Tech. Rep, 2(2.4), p.1.
[9] Zhang, H. and Wang, D., 2018. Deep learning for acoustic echo cancellation in
noisy and double-talk scenarios. Training, 161(2), p.322.
[10] Benesty, J., Gänsler, T., Morgan, D.R., Sondhi, M.M. and Gay, S.L., 2001. Advances in
network and acoustic echo cancellation.
[11] Gilloire, A., 1987, April. Experiments with sub-band acoustic echo cancellers for teleconferencing.
In ICASSP'87. IEEE International Conference on Acoustics, Speech, and Signal Processing (Vol. 12, pp.
2141-2144). IEEE.
Gilloire, A. and Vetterli, M., 1992. Adaptive filtering in sub-bands with critical sampling: analysis, experiments,
and application to acoustic echo cancellation. IEEE transactions on signal processing, 40(ARTICLE), pp.1862-
1875.
[12] Krishna, E.H., Raghuram, M., Madhav, K.V. and Reddy, K.A., 2010, May. Acoustic echo cancellation
using a computationally efficient transform domain LMS adaptive filter. In 10th International Conference on
Information Science, Signal Processing and their Applications (ISSPA 2010) (pp. 409-412). IEEE.
[13] Gänsler, T. and Benesty, J., 2000. Stereophonic acoustic echo cancellation and two‐channel
adaptive filtering: an overview. International Journal of adaptive control and signal
processing, 14(6), pp.565-586.
[14] Buchner, H., Spors, S. and Kellermann, W., 2004, May. Wave-domain adaptive filtering:
Acoustic echo cancellation for full-duplex systems based on wave-field synthesis. In 2004 IEEE
International Conference on Acoustics, Speech, and Signal Processing (Vol. 4, pp. iv-iv). IEEE.
[15] Pauline, S.H., Samiappan, D., Kumar, R., Anand, A. and Kar, A., 2020. Variable tap-length
non-parametric variable step-size NLMS adaptive filtering algorithm for acoustic echo
cancellation. Applied Acoustics, 159, p.107074.
[16] Long, G., Shwed, D. and Falconer, D., 1987. Study of a pole-zero adaptive echo canceller. IEEE
transactions on circuits and systems, 34(7), pp.765-769.
[17] Benesty, J. and Morgan, D.R., 2000, June. Frequency-domain adaptive filtering revisited,
generalization to the multi-channel case, and application to acoustic echo cancellation. In 2000 IEEE
International Conference on Acoustics, Speech, and Signal Processing. Proceedings (Cat. No.
00CH37100) (Vol. 2, pp. II789-II792). IEEE.
[18] Tyagi, R. and Agrawal, D., 2012. Analysis the results of Acoustic Echo Cancellation for speech
processing using LMS Adaptive Filtering Algorithm. International Journal of Computer
Applications, 56(15), pp.7-11.
[19] Ni, J. and Li, F., 2010. Adaptive combination of subband adaptive filters for acoustic echo
cancellation. IEEE Transactions on Consumer Electronics, 56(3), pp.1549-1555.
[20] Adapa, N. and Bollu, S., 2013. Performance analysis of different adapative algorithms based on
acoustic echo cancellation.
[21] Benesty, J., Morgan, D.R. and Sondhi, M.M., 1998. A better understanding and an improved
solution to the specific problems of stereophonic acoustic echo cancellation. IEEE transactions on
speech and audio processing, 6(2), pp.156-165.
[22] Dhull, S., Arya, S. and Sahu, O.P., 2011. Performance evaluation of adaptive filters structures
for acoustic echo cancellation. International Journal of Engineering (IJE), 5(2), pp.208-215.
[23] Deb, A., Kar, A. and Chandra, M., 2014, April. A technical review on adaptive algorithms for
acoustic echo cancellation. In 2014 International Conference on Communication and Signal
Processing (pp. 041-045). IEEE.
[24] Tahernezhadi, M., Liu, J. and Kong, X., 1994, August. An improved subband acoustic echo
canceller for teleconferencing applications. In Proceedings of 1994 37th Midwest Symposium on
Circuits and Systems (Vol. 2, pp. 1424-1427). IEEE.
[25] Romoli, L., Squartini, S. and Piazza, F., 2010, August. A variable step-size frequency-domain
adaptive filtering algorithm for stereophonic acoustic echo cancellation. In 2010 18th European
Signal Processing Conference (pp. 26-30). IEEE.
[26] Kotte, S., 2011. Performance Analysis of Adaptive Algorithms based on different parameters
Implemented for Acoustic Echo Cancellation in Speech Signals.
[27] Patil, A.P. and Patil, M.R., 2018. Performance Analysis of Adaptive Filtering Algorithms for
Acoustic Echo Cancellation. International Journal of Engineering Research and Technology, 7(8),
pp.169-173.
[28] Kuo, S.M. and Pan, Z., 1993. Adaptive acoustic echo cancellation microphone. The Journal of
the Acoustical Society of America, 93(3), pp.1629-1636.
[29] Uncini, A., Nalin, A. and Parisi, R., 2002, September. Acoustic echo cancellation in the
presence of distorting loudspeakers. In 2002 11th European Signal Processing Conference (pp. 1-4).
IEEE.
[30] Vaseghi, S.V., 1996. Echo Cancellation. In Advanced Signal Processing and Digital Noise
Reduction (pp. 328-342). Vieweg+ Teubner Verlag.
[31] Rupp, M., 1998. A family of adaptive filter algorithms with decorrelating properties. IEEE Transactions on
Signal Processing, 46(3), pp.771-775.
[32] Benesty, J. and Gay, S.L., 2002, May. An improved PNLMS algorithm. In 2002 IEEE international
conference on acoustics, speech, and signal processing (Vol. 2, pp. II-1881). IEEE.
[33] Higham, D.J. and Higham, N.J., 2016. MATLAB guide. Society for Industrial and Applied Mathematics.
Appendix
clear all
%---------------------------------------------------------------------
%Load Data
framesize=8000;
%-------------ERLE-------------------------------------
powerD(i) = abs(d(i))^2; %Power of Microphone signal
powerE(i)=abs(e(i))^2; %power of Error signal
%--------------MSE-------------------------------------
mse_iteration(i)=error^2; %Square Error
end
for i=1:10000-L
xlabel('time (samples)');
ylabel('d(n)');
title('DESIRED SIGNAL: d(n)')
grid on
axis([0 N -1 1]);
sound(d)
%-------Output signal x(n)-------------------
% subplot(4,1,3)
figure(3)
plot(y)
xlabel('time (samples)');
ylabel('y(n)');
title('OUTPUT SIGNAL (AFTER W): y(n)')
grid on
axis([0 N -1 1]);
sound(x)
%-------Error signal x(n)--------------------
% subplot(4,1,4)
figure(4)
grid on
sound(h)
%-------Estimator for DTD------------------
figure(7)
%-------Decision Statistic-----------------
% subplot(311)
plot(ds,'green')
hold all
plot(threshold,'red')
hold off
xlabel('Sample number (n)');
ylabel('Decision Statistic');
title('DOUBLE TALK DETECTION')
grid on
% sound(n)
%-------Mean square error-------------------
% subplot(312)
figure(8)
plot(mse)
xlabel('Sample number (n)');
ylabel('Mean(Error^2)');
title('MEAN SQUARE ERROR')
grid on
%-------Echo return loss enhancement---------
% subplot(313)
figure(10)
plot(ERLE)
xlabel('Sample number (n)');
ylabel('Desired signal/Error signal (dB)');
title('ECHO RETURN LOSS ENHANCEMENT')
grid on
sound(ERLE)
%---------------------------------------------------------------------
%Load Data
[x, Fs, nbits] = wavread('output11'); %Far-end signal
[v, Fs, nbits] = wavread('output11'); %Near-end signal
[h, Fs, nbits] = wavread('RIR'); %Room impulse response
%Declare the needed variables
L=length(h); %Length of adaptive filter (same length of RIR)
N=length(x); %Number of iterations
T=0.92; %Threshold for Double talk detection
alfa=0.42; %Alfa
c=0.01; %A small constant
if (i>DTDbegin)
%-------------ERLE--------------------
%--------------MSE--------------------
mse_iteration(i)=error^2; %Square Error
end
for i=1:8000-L
%----------------------------------------------------------------------
%PlOTTING THE NECESSARY SIGNALS
%----------------------------------------------------------------------
figure(1)
%-------echo signal------------------------
subplot(4,1,1)
plot(EchoSignal)
xlabel('time (samples)');
ylabel('echo(n)');
title('ECHO SIGNAL: echo(n)')
grid on
axis([0 N -1 1]);
%-------Desired signal--------------------
subplot(4,1,2)
plot(d)
xlabel('time (samples)');
ylabel('d(n)');
title('DESIRED SIGNAL: d(n)')
grid on
axis([0 N -1 1]);
plot(y)
xlabel('time (samples)');
ylabel('y(n)');67
title('OUTPUT SIGNAL (AFTER W): y(n)')
grid on
axis([0 N -1 1]);
xlabel('time (samples)');
ylabel('E(n)');
title('ERROR SIGNAL: e(n)')
axis([0 N -1 1]);
grid on