Implementation of Adaptive Filter for Noise Cancellation
Volumn 2

Implementation of Adaptive Filter for Noise Cancellation

Shrutika Khodankar#1, Prof. Supratim Saha*2, Prof. Parag Jawarkar#3

#Electronics & Telecommunication Department Of Engineering,

Tulsiramji Gayakwad Patil College Of Engineering

RTMNU, Nagpur,India




An active noise cancellation system has been designed and implemented. Both speech and ultrasound data were used to verify the system. MATLAB/ Simulink was used to design and test a least mean square (LMS) adaptive filter for the project. This Xilinx filter model was subject to finite precision due to fixed-point arithmetic. It required careful verification via numerous simulations. Results obtained with the finite precision Xilinx model were compared with those from the MATLAB model to fine-tune the filter.

Keywords— adaptive filtering, least mean square algorithm, digital logic design, hardware simulation.


Noise is a nuisance or disturbance during communication and it is unwanted. Noise occurs because of many factors such as interference, delay, and overlapping. Noise problems in the environment have gained attention due to the tremendous growth of technology that has led to noisy engines, heavy machinery, high electromagnetic radiation devices and other noise sources. For noise cancellation with the help of adaptive filter and employed for variety of practical applications like the cancelling of various forms of periodic interference in electrocardiography, the cancelling of periodic interference in speech signals, and the cancelling of broad-band interference in the side-lobes of an antenna array. In sound signal or speech signal, noise is very problematic because it will difficult to understanding of the information. Speech is a very basic way for humans to convey information to one another with a bandwidth of only 4 kHz; speech can convey information with the emotion of a human voice. The speech signal has certain properties: It is a one-dimensional signal, with time as its independent variable, it is random in nature, it is non-stationary, and i.e. the frequency spectrum is not constant in time. Although human beings have an audible frequency range of 20Hz to 20 kHz, the human speech has significant frequency components only up to 4 kHz. The most common problem in speech processing is the effect of interference noise in speech signals. In the most of practical applications Adaptive filters are used and preferred over fixed digital filters because adaptive filters have the property on the other hand, have the ability to adjust their own parameters automatically and their design requires little or no a priori knowledge of signal or noise characteristics. In this paper adaptive filter is used for noise cancellation. The general configuration for an Adaptive filter system is shown in Fig.1. It has two inputs: the primary input d(n), which represents the desired signal corrupted with c undesired noise, and the reference signal x(n), which is the undesired noise to be filtered out of the system. The goal of adaptive filtering systems is to reduce the noise portion, and to obtain the uncorrupted desired signal. In order to achieve this, a reference of the noise signal is needed and is called reference signal x(n). However, the reference signal is typically not the same signal as the noise portion of the primary amplitude, phase or time. Therefore the reference signal cannot be simply subtract from the primary signal to obtain the desired portion at the output.


Adaptive filters consist of the three basic components: the adaptive filter, h(n) ; the error , e(n) ; and the adaptation function: y(n)=x(n)*h(n) and e(n)=d(n)-y(n) as shown in Figure 1. The goal of the system in Figure 1 is to adapt the filter in such a way that the input digital signal, x(n) , is filtered to produce an output signal, y(n) , that will minimize the error signal , e(n) , when subtracted from the desired signal, d(n) . The arrow through the adaptive filter is standard notation to indicate that the filter is adaptive. This means that all of the filter coefficients can be adjusted in such a way that the mean square error is to be minimized. The adaptive filter can be an FIR or IIR filter or even a non-linear system. To ensure the stability of the adaptive algorithm, most adaptive filters use an FIR type.[1].

Figure 1. Adaptive Filter

The adaptive filters are widely used in areas such as control systems, communications, signal processing, acoustics, and others to deal with random signals with stationary or quasistationary statistics. Although these applications are quite different, they have input, output, error, and reference signals. The applications of the adaptive filters can be classified into four fundamental classes based on the architecture of the implementation: adaptive identification, adaptive inverse, adaptive prediction, and active noise cancellation. [1] Active noise cancellation increases the signal-to-noise ratio of a signal by decreasing the noise power in the signal by attempting to cancel noise signals. Applications consist of adaptive noise cancellation, echo cancellation, adaptive beam forming, biomedical signal processing, and others. [2]

Figure 2. Adaptive Noise Cancellation


Figure 3 shows the configuration of the high level block diagram for the system. There are two inputs in the system: reference and interference signals. The reference signal, d(n), contains the target signal and an interference signal. The interference signal, x(n), contains just an interference signal similar to that contained in the reference signal. When the interference signal is passed through the adaptive filter, the output, y(n), is generated so that when it is subtracted from the reference signal the error signal, e(n), is obtained. The error signal is then used to update the coefficients of the filter.

Figure 3. High Level Block Diagram of an Adaptive Filter

Adaptive filters operate by attempting to reduce a cost function. One of the most popular cost functions to use is known as the Least Square Error equation. It uses the mean square error as the cost function and attempts to reduce the cost function. Various adaptive algorithms can be obtained based on how to minimize the cost function. The cost function (J) can be represented as follows:

J=E{e^2(n)}                            (1)

The error signal of the system can be expressed as:

e(n)=d(n)-y(n)=d(n)-f^T X(n)                      (2)

Where f is the filter coefficients and X(n) which is a column vector of the filter input signal.

The cost function becomes:

J=E{e^2(n)}=E{(d(n)-f^T X(n))^2}                     (3)

J=E{d(n)^2+2d(n)f^T X(n)+f^T X(n) X^T(n) f}  (4)

By setting the gradient if J equal to zero and solving, for the filter coefficient f, we find that:

E{d(n) X(n)}=E{X^T(n) X(n)} fopt                (5)

Solving for the optimum coefficients results in the following equation:

fopt=Rxx^-1 rdX                           (6)

A. Least Mean Square

The Least Mean Square (LMS) algorithm, introduced by Widrow and Hoff, is an adaptive algorithm. LMS algorithm uses the estimates of the gradient vector from the available data. The LMS incorporates an iterative procedure that makes corrections to the weight vector in the direction of the negative of the gradient vector which eventually leads to the minimum mean square error. Compared to other algorithms, the LMS algorithm is considered simpler because it does not require correlation function calculations nor does it require matrix inversions.

B. Mathematical Approach

The Widrow-Hoff LMS Algorithm attempts to approximate the Wiener-Hopf equation by updating the filter coefficients by a factor of the negative of the gradient of the cost function as follows:

f(n+1)=f(n)-(u/2)del(n)                       (7)

The gradient is then calculated using the partial derivative of the cost function with respect to the filter coefficients. It can be shown that the gradient is represented by the following:

del(n)=-2e(n) X(n)                     (8)

When the gradient (8) is plugged into the Wiener-Hopf equation (7), the result is the following equation for updating the filter coefficient:

f(n+1)=f(n)+ue(n)X(n)          (9)

Where µ is the step size or learning factor for the filter. In order for the filter coefficients to converge to an optimum value, a value for µ must be carefully chosen. For this LMS algorithm, it can be shown that µ must satisfy the following constraint in order for the system to converge:

0<u<(2/3Lrxx(0))             (10)

Where rxx is autocorrelation and L is the number of taps of the filter.


A comparison of different LMS filters was conducted to determine an appropriate filter to be used. The LMS adaptive filter was implemented first due to its simplicity. As explained before, LMS does not require correlation function calculation nor does it require matrix inversions. MATLAB simulations show that a reduction of 20 db can be achieved by tuning the step size of the LMS algorithm.

A. Least Mean Square Taps Evaluation

 Figure 13 shows that as the number of taps in the filter increased, the noise reduction increased as well. This became less noticeable as the number of taps exceeded 10. As seen in Table 1, there is no significant difference when the numbers of taps varied from 10 to 20. Because of this observation, and in order to simplify process of hardware design, it was decided to implement ten taps. The rest of the results were achieved using a 10 tap adaptive filter. 

Table 1. Number of taps vs. LMS Mean Square Error Evaluation

Figure 4. Number of taps vs. LMS Mean Square Error

The first several samples from each signal were not processed to give the algorithm a starting point from which it could accurately recover the target signal. The number of samples skipped was one fewer than the number of taps used. This is done to account for the fact that there was insufficient data for these samples to be filtered. For each sample after that, the current input vector was used to calculate the filter output by using matrix multiplication. The recovered signal was then calculated and used to update the filter coefficients for the next sample. This process was continued until all the samples had been filtered.

With ten taps, the LMS algorithm was able to reduce the mean square error from 0.114844 to 0.0011. This is a reduction of more than 20.0 dB, which allowed the target signal to be recovered.


An active noise cancellation system was successfully simulated and implemented. The system met all requirements. The ultra-sound data was properly filtered, and the audio data was adequately filtered to recover the target signal. These requirements were accomplished in both simulation and hardware using MATLAB and VHDL implementation using Xilinx.


  1. Pramod Kumar Meher, Senior Member, IEEE, and Sang Yoon Park, Member, IEEE Area-Delay-Power Efficient Fixed-Point LMS Adaptive Filter With Low Adaptation-Delay IEEE Transactions on Very Large Scale Integration (VLSI) Systems, Vol. 22, No. 2, February 2014.
  2. Ms.S.Savitha Ms.S.Lakshmi Implementation Of Efficient Lms Adaptive Filter With Low-Adaptation Delay IEEE  Sponsored   2’nd  International  Conference  on Electronics  and  Communication  Systems(ICECS ‘2015)
  3. Mamta M. Mahajan et al. Design of Least Mean Square Algorithm for Adaptive Noise Canceller  International Journal Of Advanced Engineering Sciences And Technologies ISSN: 2230-7818 Vol 5 Issue 2 pp 172-175 (IJAEST 2015)
  4. Amrita et al. Embedded Design of an Efficient Noise Canceller for Digital Receivers International Journal of Engineering Science and Technology (IJEST) ISSN : 0975-5462 Vol. 3 No. 2 Feb 2011
  5. Sayed. A. Hadei, Student Member IEEE and M. lotfizad  A Family of Adaptive Filter Algorithms in Noise Cancellation for Speech Enhancement International Journal of Computer and Electrical Engineering, . ISSN 1793-8163 Vol. 2, No. 2, April 2010
  6. Aarti Singh Adaptive Noise Cancellation Dept. of Electronics & Communication  Netaji Subhas Institute of Technology May 2001
  7. Wolfgang fohl, a Fpga-Based Adaptive Noise Cancelling System, Proc. of the 12th Int. Conference on Digital Audio Effects (DAFx-09), Como, Italy, September 1-4, 2009.
  8. Bernard Widrow Adaptive  Noise  Cancelling:  Principles  and  Applications Proceedings of the  IEEE,  Vol.  63, No.  12, December  1975.

Related posts

Pulse Oximeter Using Microcontroller


Efficient Clustering technique for Improving Network Performance in Wireless Sensor Networks




Leave a Comment