Professional Documents
Culture Documents
FPGA Implementation of Adaptive Filtering Algorithms For Noise Cancellation-A Technical Survey
FPGA Implementation of Adaptive Filtering Algorithms For Noise Cancellation-A Technical Survey
1 Introduction
The unwanted signal present in the information bearing signal is referred to as noise
which degrades the signal strength in terms of quality and intelligibility. Noise can
be broadly classified into two main categories, namely White Noise or Non-White
Noise. White noise is spectrally flat but non-white is not. Furthermore, noise can
either be stationary like computer’s fan noise or non-stationary like Machine gun
noise.
Various commonly used adaptive filters used to diminish the noise are Least
Mean Square (LMS) algorithm, Normalized LMS algorithm (NLMS), Variable Step
Size LMS algorithm (VSSLMS), Filtered-X LMS algorithm (FxLMS), Hybrid LMS
algorithm and Recursive Least Square (RLS) algorithm.
The hardware implementation can be done using either Digital Signal Processors
(DSPs) or Field-Programmable Gate Arrays (FPGAs). DSPs have advantages such
as the use of C programming language and therefore more user-friendly, and rela-
tively simple design flow, whereas FPGAs offer advantages such as high degree of
parallelism and low power consumption.
In this article, the important work of researchers is presented in the field of FPGA-
based hardware implementations of noise cancellation algorithms using adaptive
filters. FPGA implementations of different algorithms are compared based on their
maximum clock speed, resources required, power consumption and cost, and in the
end, a conclusion is drawn.
An adaptive filter is a filter capable of tracking the variations in the statistical charac-
teristics of input data and capable of self-adjusting its parameters. In non-stationary
environments where characteristics of the environment are unknown or changing
with time, a fixed filter doesn’t give good results. In such situations, an adaptive filter
gives efficient results as an adaptive filter can track the changes in the environment
and update the filter weight vector coefficients. Adaptive filters are usually more
complex and difficult to implement as compared to non-adaptive systems, but such
type of systems offers increased system performance whenever the input signal is
time varying or its characteristics are unknown [1].
An active noise cancellation (ANC) system is one which is used to suppress the
noise from the signal of interest. One of the popular algorithms used for ANC is
Least Mean Square (LMS) algorithm devised by Widrow and Hoff in 1959. It is a
widely used algorithm because of its simplicity. This algorithm belongs to the family
of stochastic gradient algorithms involving filtering and adaptive process.
The ANC system consists of two types of inputs, one is a primary input also called
as source signal s(n) and the other is reference input or noise signal x(n). The source
signal gets distorted by a noise signal x 1 (n) which is usually correlated with noise
signal x(n). The reference signal can vary in amplitude, phase or time with respect
to noise portion of the primary signal [2, 3].
The desired signal d(n) is the result of addition of primary signal s(n) to correlated
noise signal x 1 (n). The reference signal x(n) will be given to adaptive filter such that
its output y(n) can be subtracted from desired signal d(n) to yield error signal e(n).
FPGA Implementation of Adaptive Filtering … 519
Adaptive - e( n )
filter ∑
The output of the summer block, e(n) = d(n) − y(n) is then fed back to adaptive
filter in order to update filter coefficients [4, 5] (Fig. 1).
One of the primary disadvantages of the LMS algorithm is slow convergence
rate due to the fixed step size for each tap weight in every iteration. To improve the
performance of active noise cancellation system, a variant of LMS algorithm known
as Variable Step Size Least Mean Square (VSSLMS) algorithm was developed in
which step size is usually expressed as a vector μ(n) for each iteration. Each element
of vector μ(n) can have different step size value corresponding to an element of
filter tap weight vector. During the adaptation process if w(n) is far from its optimum
value, the step-size parameter will be relatively high to achieve fast convergence and
whenever the filter coefficients w(n) approaches the steady-state solution, the step-
size parameter will decrease so as to reduce the excess Mean Square Error (MSE).
There are many other variants of LMS such as Normalized LMS (NLMS), Block
LMS (BLMS), Filtered-x LMS (FxLMS), Sign-error LMS algorithm that has been
developed by researchers to improve the performance.
As the integrated circuit technology has made rapid progress in the past few decades,
multiple hardware platforms have come into existence for implementation of compu-
tationally intensive signal processing applications. Using these hardware platforms,
designers can implement the prototype hardware for an algorithm in a short period
of time. Therefore, hardware implementation of adaptive filtering algorithms has
become an interesting area of research lately. As adaptive filtering algorithms find
applications in diverse fields, choosing an appropriate hardware for an application is
a key for successful commercial implementation. A particular hardware should be
chosen keeping in mind the performance/area/cost tradeoff.
DSPs and FPGAs have emerged as predominant hardware platforms for adaptive
filtering algorithms implementation. In the past, the use of DSPs was ubiquitous, but
with the need of many applications outstripping the processing capabilities of DSPs,
the use of FPGAs is growing rapidly. Apart from higher processing capabilities
compared to DSPs, FPGAs offer many other advantages such as high degree of
parallelism, low power consumption and low cost.
520 P. Goel and M. Chandra
noise source or medium introduces nonlinearity. The throughput rate for DBFxLMS
and DBFsLMS structures is higher (nearly L times) and hardware consumption is
less than the DFxLMS and DFsLMS structures. The DBFxLMS structure has more
than L times higher throughput rate, consumes L times more multipliers and adders,
and (3Q + 2)(3Q + 2) less registers (where Q is the secondary path filter length)
as compared to the existing FxLMS-based structure. The proposed DFxLMS and
DBFxLMS structures have 55 and 58% less ADP, 30 and 41% less EPS and signifi-
cantly higher throughput than those of the existing FxLMS-based structures [19].
Wavelet-based filters are very effective to remove noise from the information bear-
ing signals. To remove power line interference from ECG signal, a real-time denois-
ing technique using wavelet has been implemented on FPGA. In this work, Donoho
denoising algorithm based architecture and soft-thresholding technique is used. The
concept of this algorithm is based on the assumption that the wavelet coefficients
with smaller magnitudes are caused by noise and wavelet coefficients with larger
magnitudes are caused by information bearing signal. Using the soft-thresholding
technique, the smaller wavelet coefficients are replaced by zero and larger wavelet
coefficients are retained. Noise is estimated using the second level wavelet coeffi-
cients because power line interference is a narrow band signal [20].
Cutset retiming and clock period minimization techniques are used to obtain opti-
mized retimed filter structures. A lattice filter structure has been implemented using
Spartan3E series FPGA platform. The filter structure obtained after cutset retiming
technique consumes 190 slices whereas the filter structure obtained after clock period
minimization technique consumes 220 slices. To optimize the performance, various
optimization techniques such as supply voltage scaling, parallel prefix tree adders,
etc. is used at structural level [21].
An LMS adaptive filter using conventional multiplier adder has been implemented
for active noise control application. It has been observed that the LMS adaptive filter
is able to successfully track the unknown system with the convergence speed of
1.46 ms at 1/210 step size [22].
LMS adaptive filter based on the transposed direct form has been implemented on
Xilinx Spartan-3 FPGA platform. Different types of noises were considered such as
fan noise, car noise, and sinusoidal noise. ModelSim SE 6.2c simulator and Xilinx
ISE 9.li development environment was used for the simulation and synthesis of the
VHDL design, respectively. Noise reduction is achieved sufficiently for stationary
noise in a frequency range between 188 and 4000 Hz. The results obtained in the
work have proved that the FPGA platform is well suited for the complex real-time
audio processing tasks in augmented reality audio systems [23] (Table 1).
FPGA Implementation of Adaptive Filtering … 523
Table 1 (continued)
S. No. Algorithm Development Tool /Imple- Significant Outcomes
mentation Platform
9 FPGA implementation of MATLAB/Simulink and Implementation on different
High speed retimed delayed Xilinx System Generator FPGA platforms leads to
LMS algorithm based development tools and considerable variation in the
adaptive filter structures Spartan 6 FPGA board performance of various filter
[17] structures. Therefore careful
examination of the
performance parameters
should be done while
selecting an FPGA device
an application
10 Delayed block FxLMS Hardware/ASIC The proposed DFxLMS and
(DBFxLMS) and delayed implementation DBFxLMS structures have
block FsLMS (DBFsLMS) 55 and 58% less ADP, 30
algorithms implementation and 41% less EPS and
[19] significantly higher
throughput than those of the
existing FxLMS-based
structures
11 Donoho denoising MATLAB/Simulink, Xilinx Efficiently removes power
algorithm based wavelet system generator line interference from ECG
filter architecture [20] development tool and Virtex signal
II FPGA board
12 Lattice filter implementation VHDL hardware description Hardware consumption is
based on cutset retiming and language and Xilinx FPGA less than conventional filter
clock period minimization Sparten3E XC3S100E structures
technique [21] device
13 conventional multiplier Altera Quartux II LMS adaptive filter
adder-based LMS adaptive development platform and successfully track the
filter implementation [22] Altera DE2 development unknown system with the
board convergence speed of
1.46 ms at 1/210 step size
14 Transposed direct form MATLAB/Simulink, Noise reduction is achieved
LMS adaptive filter Modelsim SE6.2c, Xilinx sufficiently for stationary
implementation [23] ISE 9.1i development noise in a frequency range
environment, Xilinx between 188 and 4000 Hz
Spartan-3 FPGA board
4 Conclusion
more hardware resources consumption. For instance, the retimed highly pipelined
64-tap direct form adaptive filter structure has maximum operating frequency of
187.614 MHz compared to the conventional structure which has maximum operat-
ing frequency of 10.576 MHz. The sign-error LMS algorithm and fast block LMS
(FBLMS) algorithms have relatively less computational complexity. For instance,
the proposed FBLMS algorithm implemented using distributed arithmetic takes 45%
less area than existing Fast block LMS algorithms. The DBFxLMS and DBFsLMS
algorithms have 55 and 58% less area-delay product (ADP), 20 and 30% less energy
per sample (EPS) than those of existing FxLMS-based algorithms. Hence this article
is an attempt to give an insight into the research work done in the field of FPGA
implementation of various adaptive filter algorithms for noise cancellation applica-
tions.
References
1. Diniz PSR Adaptive filtering—algorithms and practical implementation, 3rd edn. Kluwer Aca-
demic Publishers, Springer
2. Poularikas AD, Ramadan ZM (2006) Adaptive filtering primer with MATLAB. CRC Press
3. Haykin Simon (2008) Adaptive filter theory, 4th edn. Pearson, India
4. Gupta VK, Chandra M, Sharan SN (2012) Real time implementation of adaptive noise canceller.
In: International conference on systemics, cybernetics and informatics, pp 24–28
5. Dhal M, Ghosh M, Goel P, Kar A, Mohapatra S, Chandra M (2015) A unique adaptive noise
canceller with advanced variable-step BLMS algorithm. In: 2015 International conference on
advances in computing communications and informatics (ICACCI)
6. Parhi KK (2010) VLSI digital signal processing systems—design and implementation. Wiley
7. Elhossini, Areibi, and Dony, An FPGA implementation of the LMS adaptive filter for audio
processing. In: IEEE International conference on reconfigurable computing and FPGA’s, 2006,
San Luis Potosi, Mexico, pp 1–8
8. Bahoura M, Ezzaidi H (2015) Real-time implementation of an adaptive noise canceller based
on MicroBlaze soft processor. In: IEEE 28th Canadian conference on electrical and computer
engineering (CCECE) 2015, Halifax, NS, Canada, pp 1180–1183
9. Dai J, Wang Y (2010) NLMS adaptive algorithm implement based on FPGA. In: IEEE
Third international conference on intelligent networks and intelligent systems (ICINIS 2010),
Shenyeng, China, pp 366–369
10. Priya P, Babu P (2014) An efficient architecture for the adaptive filter using delayed LMS
algorithm. In: IEEE International conference on information communication and embedded
systems (ICICES2014), Chennai, India, pp 1–6
11. Liu M, Wang M, Liu D (2016) A pipelined sign-error LMS adaptive filter architecture with low
computational complexity. In: IEEE International conference on anti-counterfeiting, security,
and identification (ASID) 2016, pp 86–90
12. Baghel S, Shaik R (2011) FPGA implementation of fast block LMS adaptive filter using dis-
tributed arithmetic for high throughput. In: IEEE International conference on communications
and signal processing, 2011, Calicut, India, pp 443–447
13. Yi Y, Woods R (2005) High speed FPGA based implementations of delayed—LMS filters. J
VLSI Signal Process 113–131
14. Bahoura M, Ezzaidi H (2011) FPGA implementation of parallel and sequential architectures
for adaptive noise cancellation. In: Circuits, systems and signal processing, Springer, Boston,
pp 1521–1548
526 P. Goel and M. Chandra
15. Garofolo JS, Lamel LF, Fisher WM, Fiscus JG, Pallett DS, Dahlgren NL (1993) DARPA TIMIT
acoustic-phonetic continuous speech corpus, CD-ROM, NTIS edition
16. Goldberger AL, Amaral LAN, Glass L, Hausdorff JM, Ivanov PCh, Mark RG, Mietus
JE, Moody GB, Peng C-K, Stanley HE (2000) PhysioBank, PhysioToolkit, and Phys-
ioNet: components of a new research resource for complex physiologic signals. Circulation
101(23):e215–e220
17. Goel P, Chandra M (2018) VLSI implementations of retimed high speed adaptive filter struc-
tures for speech enhancement. In: Microsystem technologies. Springer, GmbH Germany, pp
1–8
18. Samudravijaya K, Rao PVS, Agrawal SS (2000) Hindi speech database. In: Proceedings of
international conference on spoken language processing, ICSLP-2000, Beijing, China, Oct,
vol 4, pp 456–459
19. Mohanty BK, Singh G, Panda G (2017) Hardware design for VLSI implementation of
FxLMS- and FsLMS-based active noise controllers. In: Circuits, systems, and signal pro-
cessing. Springer, vol 36, Issue 2, pp 447–473 (first online Apr 2016)
20. Bahoura M, Ezzaidi H (2010) FPGA implementation of wavelet-based denoising technique to
remove power-line interference from ECG signal. In: Proceedings of the 10th IEEE interna-
tional conference on information technology and applications in biomedicine, Corfu, Greece,
pp 1–4
21. Yagain D, Vijaya Krishna A, Chennapnoor S (2012) Design optimization platform for synthe-
sizable high speed digital filters using retiming technique. In: 10th IEEE International confer-
ence on semiconductor electronics (ICSE), Kuala Lumpur, Malaysia, pp 551–555
22. Mustafa R, Umat C, Ali MAM, Al-asady AD (2009) Design and implementation of least
mean square adaptive filter on Altera Cyclone II field programmable gate array for active noise
control. In: IEEE Symposium on industrial electronics and applications (ISIEA 2009), Kuala
Lumpur, Malaysia, vol 1, pp 479–484
23. Fohl W, Matthies J (2009) A FPGA based adaptive noise cancelling system. In: Proceedings
of the 12th international conference on digital audio effects (DAFX-09), Como, Italy, 01–04
Sept 2009