SlideShare a Scribd company logo
International Journal of Research in Computer Science
eISSN 2249-8265 Volume 4 Issue 2 (2014) pp. 19-24
www.ijorcs.org, A Unit of White Globe Publications
doi: 10.7815/ijorcs.42.2014.081
www.ijorcs.org
FPGA IMPLEMENTATION OF FIR FILTER USING
VARIOUS ALGORITHMS: A RETROSPECTIVE
Jinalkumari K. Dhobi1
, Dr. Y. B. Shukla2
, Dr. K.R.Bhatt3
1
P.G. Student, EC Dept., SVIT, Vasad
Email: jinal.dhobi@gmail.com
2
Assoc. Prof., EC Dept., SVIT, Vasad
Email: ybshukla2003@gmail.com
Assoc. Prof., EC Dept., SVIT, Vasad
Email: krbhattec@gmail.com
Abstract: This manuscript is a thorough study of
FPGA implementation of Finite Impulse response
(FIR) with low cost and high performance. The key
observation of this paper is an elaborate analysis
about hardware implementations of FIR filters using
different algorithm i.e., Distributed Arithmetic (DA),
DA-Offset Binary Coding (DA-OBC), Common Sub-
expression Elimination (CSE) and sum-of-power-of-
two (SOPOT) with less resources and without
affecting the performance of the original FIR Filter.
Keywords: DA, DA-OBC, CSE, SOPOT, FPGA
I. INTRODUCTION
A digital filter is a system that carry out
mathematical operation on a sampled of discrete time
signal to modify or alter the component of the signal in
time or frequency domain. It consist of an analog-to-
digital converter at front end, followed by a
microprocessor and some peripheral component i.e.,
memory to store data & filter coefficients. At the
backend side a digital-to-analog converter is used to
complete the output stage. For a real time applications,
an FPGA or ASIC or Specialized DSP with parallel
architecture is used instead of a general purpose
microprocessor. Digital filters can be implemented in
two ways, by convolution (FIR) and by recursion (IIR)
[1]. A FIR filter has a number of useful properties
compared to an IIR filter i.e. inherently stable, no
feedback require, designed to be linear phase. With
recent trend towards portable computing and wireless
communication systems, power consumption has been
an important design consideration [2] so the field
programmable gate array (FPGA) is an alternative
solution for realization of digital signal processing
task.
This paper is organized as follows: section II
introduced design method of the FIR filter, section III
describes the various algorithms to implement the FIR
filter on FPGA, Section IV discusses the Comparison
of algorithms and finally the conclusion is presented in
section V.
II. DESIGN METHODS
FIR filters are used where exact linear phase
response is required. It is non-recursive filter, consists
of two parts one is Approximation problem and second
one is Realization problem. The steps of
approximation are, first take the Ideal frequency
response after that choose the Class of filter & Quality
of approximation and finally select the Method to find
the filter transfer function. The realization part select
the structure to implement the transfer function. There
are mainly three well-known methods for designing
FIR filter namely the window method, Frequency
sampling technique and Optimal filter design method.
Among these three methods, window method is simple
and efficient way to design an FIR filter [3]. In this
method, first start with the ideal desired frequency
response 𝐻𝐻𝑑𝑑 �𝑒𝑒𝑗𝑗 𝑗𝑗
� of the specified filter then Compute
the inverse DTFT of 𝐻𝐻𝑑𝑑 �𝑒𝑒𝑗𝑗 𝑗𝑗
� i.e., ℎ𝑑𝑑 (𝑛𝑛) which is
infinite in duration after that Choose an appropriate
window function 𝑤𝑤(𝑛𝑛) and calculate the impulse
response ℎ(𝑛𝑛) of specified filter as ℎ(𝑛𝑛) =
ℎ𝑑𝑑 (𝑛𝑛) ∗ 𝑤𝑤(𝑛𝑛) to truncated at some point n=M-1. Once
ℎ(𝑛𝑛) is determined, it’s DTFT 𝐻𝐻�𝑒𝑒𝑗𝑗 𝑗𝑗
� and Z-
transform 𝐻𝐻(𝑧𝑧) can be calculated for any further
analysis. For truncation in third step of ℎ𝑑𝑑 (𝑛𝑛) to M-
terms, direct truncation method using rectangular
window 𝑤𝑤(𝑛𝑛) is multiplied with ℎ𝑑𝑑 (𝑛𝑛) which is
infinite in nature but rectangular window contain sharp
discontinuity which leads to Gibbs Phenomenon effect
[4]. In order to reduce the ripples, instead of sharp
discontinuity function, choose a window function
having taper and decays toward zero gradually [4].
Some of window [5] commonly used are as followed:
1. Bartlett Triangular window:
𝑤𝑤(𝑛𝑛) =
⎩
⎪
⎨
⎪
⎧
2(𝑛𝑛 + 1)
𝑁𝑁 + 1
, 𝑛𝑛 = 0 𝑡𝑡𝑡𝑡 (𝑁𝑁 − 1)/2
2 −
2(𝑛𝑛 + 1)
𝑁𝑁 + 1
, 𝑛𝑛 = (𝑁𝑁 − 1)/2 𝑡𝑡𝑡𝑡 (𝑁𝑁 − 1)
0 𝑂𝑂𝑂𝑂ℎ𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒
… . (1)
2. Generalized cosine windows:
20 Jinalkumari K. Dhobi, Dr. Y. B. Shukla, Dr. K.R.Bhatt
www.ijorcs.org
(Rectangular, Hanning, Hamming and
Blackman)
𝑤𝑤(𝑛𝑛) = 𝑎𝑎 − 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏 �
2𝑝𝑝(𝑛𝑛 + 1)
𝑁𝑁 + 1
� + 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 �
4𝑝𝑝(𝑛𝑛 + 1)
𝑁𝑁 + 1
�
Where n = 0 to N-1
…. (2)
3. Kaiser window with parameter β:
𝑤𝑤(𝑛𝑛) =
𝐼𝐼0(𝛽𝛽�1 − �1 −
2(𝑛𝑛)
𝑁𝑁−1
�
2
𝐼𝐼0(𝛽𝛽)
Where n= 0 to N-1
…. (3)
𝑀𝑀 =
δ2 − 7.95
2.286∆ω
…. (4)
β=
⎩
⎨
⎧
0.1102(δ2 − 8.7), δ2 ≥ 50𝑑𝑑𝑑𝑑
0.5842(δ2 − 21)0.4
+ 0.07886(δ2 − 21),
21𝑑𝑑𝑑𝑑 < δ2 < 50𝑑𝑑𝑑𝑑
0, δ2 ≤ 21𝑑𝑑𝑑𝑑
.... (5)
In Rectangular window, due to the direct
truncation of ℎ𝑑𝑑 (𝑛𝑛) leads to the Gibbs phenomenon
effect which apparent itself as a fixed percentage
overshoot and ripple before and after an approximated
discontinuity in the frequency response due to the non-
uniform convergence of the Fourier series at the
discontinuity [5]. According to the simulation result
[5] obtained from FDAtool, the Bartlett window
reduced the overshoot in the designed filter but spreads
the transition region. The generalized cosine window,
Hanning, Hamming and Blackman is complicated but
provide a smooth truncation of ideal impulse response
and a frequency response. The best window method is
Kaiser Window because it has the shape parameter β
which depending on the filter taps M was used to
adjust the main lobe width and side lobe attenuation,
choosing M can produce a variety of transition band
and optimal stopband attenuation [6]. When the
transition band ∆ω(rad) and the stopband attenuation
δ2 = −20𝑙𝑙𝑙𝑙 𝑙𝑙10 𝛼𝛼2(𝑑𝑑𝑑𝑑) were given, the Kaiser FIR
filter taps M and the shape parameter β can be
obtained from equation (4) and (5) [6].
III. FPGA IMPLEMENTATION USING VARIOUS
ALGORITHMS
The application of digital filter are widespread and
include but are not limited to the Communication
System, Audio System, Instrumentation, Image-
Processing and enhancement, Speech synthesis. It is
nowadays convenient to consider computer programs
and digital hardware that can perform digital filtering
as two different implementations of digital filters,
namely, Software digital filters, and Hardware digital
filters. Software digital filters can be implemented in
terms of a high-level language, such as C++ or
MATLAB, on a personal computer or workstation or
by using a low-level language on a general-purpose
digital signal processing chip. Hardware digital filter
can be designed using a number of highly specialized
interconnected VLSI chips like DSP, ASIC and FPGA.
Software digital filter have no counterpart in the
analog world and therefore, for non-real-time
application they are the only choice. ASIC based
Implementation of FIR Filter provides little costlier
and long development time but gives high flexibility.
The realization of FIR filter based on FPGA received
extensive attention because it gives high flexibility,
high performance, low cost and shorter development
time [8]. The core of the FIR filter implementation is
multiplication and accumulation (MAC) operation.
The design method of MAC can be define using
various algorithm and techniques. One is general direct
MAC structure, which are expensive in hardware
because of logic complexity and area usage. The others
are Distributed Arithmetic (DA) [7], DA-Offset Binary
Coding (DA-OBC) [9], Common Subexpression
Elimination (CSE) [10] and Sum-of-power-of-two
(SOPOT) [11] which reduced the required number of
multiplier and adders.
A. Distributed arithmetic and DA-OBC
Distributed Arithmetic is a famous method, which
converts calculation of MAC to a serial of look up
table accesses and summation [8]. It was initially
proposed by Croisier in 1973 [7] and further developed
by Peled and Lui [8].The principle of DA algorithm is
as follows:
An FIR filter of N order is shown as Eq. (6)
𝑦𝑦(𝑛𝑛) = ∑ ℎ𝑘𝑘 𝑥𝑥𝑘𝑘(𝑛𝑛)𝑁𝑁−1
𝑘𝑘=0 …. (6)
Where ℎ𝑘𝑘the set of constant coefficient of the filter
is, 𝑦𝑦(𝑛𝑛) is the output data, 𝑥𝑥𝑘𝑘(𝑛𝑛) is the input data,
which can be expressed as Eq. (7) using m-bit 2’s
complementary binary number.
𝑥𝑥𝑘𝑘 = −𝑥𝑥𝑘𝑘,𝑚𝑚−1 + ∑ 𝑥𝑥𝑘𝑘,𝑚𝑚−1−𝑗𝑗
𝑚𝑚−1
𝑗𝑗=1 2−𝑗𝑗
…. (7)
Where 𝑥𝑥𝑘𝑘,𝑚𝑚−1 is the most significant bit of 𝑥𝑥𝑘𝑘, Eq.
(8) can be derived when 𝑥𝑥𝑘𝑘 of Eq. (7) is substitute into
Eq. (6).
𝑦𝑦(𝑛𝑛) = � ℎ𝑘𝑘[−𝑥𝑥𝑘𝑘,𝑚𝑚−1 + � 𝑥𝑥𝑘𝑘,𝑚𝑚−1−𝑗𝑗
𝑚𝑚−1
𝑗𝑗 =1
2−𝑗𝑗
]
𝑁𝑁−1
𝑘𝑘=0
= � � ℎ𝑘𝑘
𝑚𝑚−1
𝑗𝑗 =1
𝑥𝑥𝑘𝑘,𝑚𝑚−1−𝑗𝑗 2−𝑗𝑗
−
𝑁𝑁−1
𝑘𝑘=0
� ℎ𝑘𝑘 𝑥𝑥𝑘𝑘,𝑚𝑚−1
𝑁𝑁−1
𝑘𝑘=0
FPGA Implementation of Fir Filter using Various Algorithms: A Retrospective 21
www.ijorcs.org
= � � ℎ𝑘𝑘
𝑁𝑁−1
𝑘𝑘=0
𝑥𝑥𝑘𝑘,𝑚𝑚−1−𝑗𝑗 2−𝑗𝑗
−
𝑚𝑚−1
𝑗𝑗=1
� ℎ𝑘𝑘 𝑥𝑥𝑘𝑘,𝑚𝑚−1
𝑁𝑁−1
𝑘𝑘=0
…. (8)
In Eq. (8) the calculation result of
∑ ℎ𝑘𝑘
𝑁𝑁−1
𝑘𝑘=0 𝑥𝑥𝑘𝑘,𝑚𝑚−1−𝑗𝑗 have 2𝑁𝑁
kinds of different results
because of the value of 𝑥𝑥𝑘𝑘,𝑚𝑚−1−𝑗𝑗 is 0 or 1. All the
possible results of ∑ ℎ𝑘𝑘
𝑁𝑁−1
𝑘𝑘=0 𝑥𝑥𝑘𝑘,𝑚𝑚−1−𝑗𝑗 are constructed
in advance and stored into one LUT. The contents of
LUT can be fetch by using 𝑥𝑥𝑘𝑘,𝑚𝑚−1−𝑗𝑗 obtain from shift
register unit as a LUT address signal. So the value of
𝑦𝑦(𝑛𝑛) calculated by shifting and accumulating
operation.
Table 1: LUT contents of DA for 4-tap FIR filter
Address signal (𝑏𝑏3 𝑏𝑏2 𝑏𝑏1 𝑏𝑏0) LUT content
0000 0
0001 ℎ0
0010 ℎ1
0011 ℎ1 + ℎ0
0100 ℎ2
0101 ℎ2 + ℎ0
0110 ℎ2 + ℎ1
0111 ℎ2 + ℎ1 + ℎ0
1000 ℎ3
1001 ℎ3 + ℎ0
1010 ℎ3 + ℎ1
1011 ℎ3 + ℎ1 + ℎ0
1100 ℎ3 + ℎ2
1101 ℎ3 + ℎ2 + ℎ0
1110 ℎ3 + ℎ2 + ℎ1
1111 ℎ3 + ℎ2 + ℎ1 + ℎ0
Hence, DA algorithm reduced the logic resources
by converting complex MAC operation to a simple
look-up table access and summations. The main
disadvantage of DA algorithm is the size of LUT is
large and also capacity of LUT will exponentially
increase with the order of the filter. Bo Hong, et al [9]
proposed a new algorithm which can reduced the
capacity of LUT by half through the use of offset
binary coding. The principle of DA-OBC algorithm is
as follows [12]:
𝑥𝑥𝑘𝑘 can also be expressed as Eq. (9)
𝑥𝑥𝑘𝑘 =
1
2
[𝑥𝑥𝑘𝑘 − (−𝑥𝑥𝑘𝑘)]
=
1
2
�−�𝑥𝑥𝑘𝑘,𝑚𝑚−1 − 𝑥𝑥𝑘𝑘,𝑚𝑚−1�����������
+ � [�𝑥𝑥𝑘𝑘,𝑚𝑚−1−𝑗𝑗 − 𝑥𝑥𝑘𝑘,𝑚𝑚−1−𝑗𝑗������������2−𝑗𝑗
𝑚𝑚−1
𝑗𝑗=1
− 2−(𝑚𝑚−1)
]
…. (9)
They define 𝑑𝑑𝑘𝑘,𝑗𝑗 as follows, the value of 𝑑𝑑𝑘𝑘,𝑗𝑗 is -1 or +1.
𝑑𝑑𝑘𝑘,𝑗𝑗 = �
�𝑥𝑥𝑘𝑘,𝑗𝑗 − 𝑥𝑥𝑘𝑘,𝑗𝑗������, 𝑗𝑗 ≠ 𝑚𝑚 − 1
−�𝑥𝑥𝑘𝑘,𝑚𝑚−1 − 𝑥𝑥𝑘𝑘,𝑚𝑚−1����������, 𝑗𝑗 = 𝑚𝑚 − 1
…. (10)
Eq. (9) can be simplified as Eq. (11).
𝑥𝑥𝑘𝑘 =
1
2
[� 𝑑𝑑𝑘𝑘,𝑚𝑚−1−𝑗𝑗 2−𝑗𝑗
− 2−(𝑚𝑚−1)
]
𝑚𝑚−1
𝑗𝑗=0
…. (11)
Put Eq. (11) in to Eq. (6), and get
= � ��
1
2
ℎ𝑘𝑘
𝑁𝑁−1
𝑘𝑘=0
𝑑𝑑𝑘𝑘,𝑚𝑚−1−𝑗𝑗 � 2−𝑗𝑗
−
𝑚𝑚−1
𝑗𝑗 =0
(
1
2
� ℎ𝑗𝑗
𝑁𝑁−1
𝑗𝑗 =0
)2−𝑚𝑚−1
…. (12)
For convenience,
𝐷𝐷𝑗𝑗 = �
1
2
ℎ𝑘𝑘
𝑁𝑁−1
𝑘𝑘=0
𝑑𝑑𝑘𝑘,𝑚𝑚−1−𝑗𝑗 , 𝐷𝐷𝑒𝑒𝑒𝑒 = −
1
2
� ℎ𝑗𝑗
𝑁𝑁−1
𝑗𝑗=0
…. (13)
The value of 𝐷𝐷𝑗𝑗 have 2𝑁𝑁
kinds of different result
which can be pre-computed and stored in a LUT and
the LUT can be reduced by half [9] because the
contents of LUT which are stored in addresses, are 1’s
complement of each other is in same magnitude with
the reverse sign.
Table 2: LUT contents of DA-OBC for 4-tap FIR filter
Address
𝑥𝑥0𝑗𝑗 = 0
𝑥𝑥1𝑗𝑗 𝑥𝑥2𝑗𝑗 𝑥𝑥3𝑗𝑗
LUT
Contents
Address
𝑥𝑥0𝑗𝑗 = 1
𝑥𝑥1𝑗𝑗 𝑥𝑥2𝑗𝑗 𝑥𝑥3𝑗𝑗
LUT
Contents
000
−
ℎ0 + ℎ1 + ℎ2 + ℎ
2
111 ℎ0 + ℎ1 + ℎ2 + ℎ3
2
001
−
ℎ0 + ℎ1 + ℎ2 − ℎ
2
110 ℎ0 + ℎ1 + ℎ2 − ℎ3
2
010
−
ℎ0 + ℎ1 − ℎ2 + ℎ
2
101 ℎ0 + ℎ1 − ℎ2 + ℎ3
2
011
−
ℎ0 + ℎ1 − ℎ2 − ℎ
2
100 ℎ0 + ℎ1 − ℎ2 − ℎ3
2
100
−
ℎ0 − ℎ1 + ℎ2 + ℎ
2
011 ℎ0 − ℎ1 + ℎ2 + ℎ3
2
101
−
ℎ0 − ℎ1 + ℎ2 − ℎ
2
010 ℎ0 − ℎ1 + ℎ2 − ℎ3
2
110
−
ℎ0 − ℎ1 − ℎ2 + ℎ
2
001 ℎ0 − ℎ1 − ℎ2 + ℎ3
2
111
−
ℎ0 − ℎ1 − ℎ2 − ℎ
2
000 ℎ0 − ℎ1 − ℎ2 − ℎ3
2
22 Jinalkumari K. Dhobi, Dr. Y. B. Shukla, Dr. K.R.Bhatt
www.ijorcs.org
B. Common Subexpression Elimination (CSE)
M. Thenmozhi, et al [10] proposed an algorithm
which reduce the complexity is Common
subexpression elimination (CSE). In this algorithm, the
coefficient is based on canonical signed digit (CSD),
which minimize the number of adder/subtractor used
in each coefficient multiplier. The aim of CSE
algorithm is to identify multiple event of identical bit
patterns present in coefficients to remove the
redundant multiplications which results in considerable
reduction of adders as well as the complexity of FIR
filter compared to the conventional implementation.
This algorithm using binary representation of
coefficients for the implementation of higher order FIR
filter with less number of adder than CSD based CSE
algorithm. The Binary CSE (BCSE) algorithm
technique focuses on reducing redundant computations
in coefficient multipliers by reusing the most common
binary bit patterns (BCSs) presents in coefficients [13].
In n-bit binary number, the number of BCSs is2𝑛𝑛
−
(𝑛𝑛 + 1).
For example: A 3 bit binary representation can
form four BCSs.
[0 1 1] = 𝑥𝑥2 = 2−1
𝑥𝑥 + 2−2
𝑥𝑥
[1 0 1] = 𝑥𝑥3 = 𝑥𝑥 + 2−2
𝑥𝑥
[1 1 0] = 𝑥𝑥4 = 𝑥𝑥 + 2−1
𝑥𝑥
[1 1 1] = 𝑥𝑥5 = 𝑥𝑥 + 2−1
𝑥𝑥 + 2−2
𝑥𝑥
Where x is the input signal. The other BCSs such
as [0 0 1], [0 1 0] and [1 1 0] do not required any
adder for implementation because they have only one
nonzero bit. From above four BCSs they conclude that
𝑥𝑥2 can be obtained by right shift operation without
using any extra adders and also 𝑥𝑥5 can be obtained
from 𝑥𝑥4 using an adder.
C. Sum-of-power-of-two (SOPOT)
Catalin Damian, et al [11] proposed a high speed
and low area architecture for the implementation of
FIR filter without any multiplication block.
Figure 1: Direct FIR filter
Figure 2. describe the Architecture unit of FIR
filter with SOPOT type coefficient. In this algorithm
the coefficient values are integer’s power-of-two or
sum-of- power-of-two (SOPOT) with two or three
terms and the multipliers can be replaced by shifters.
In [15] and [16], FIR architectures presented based on
theory of SOPOT of two terms. Because of error
occurred in two terms the approximation of filter’s
coefficient is extended the algorithm to SOPOT with
three terms.
Figure 2. Architecture unit of FIR filter with SOPOT type
coefficient
𝐻𝐻[𝑗𝑗] = ∑ 𝑎𝑎𝑖𝑖,𝑗𝑗 . 2𝑏𝑏𝑖𝑖,𝑗𝑗2
𝑖𝑖=0 …. (13)
Where 𝑎𝑎𝑖𝑖,𝑗𝑗 = {−1,1} and𝑏𝑏𝑖𝑖,𝑗𝑗 = {−𝑡𝑡, … ,0, … , 𝑢𝑢}; t
and u determine the word length dynamic range of
each filter coefficient. Larger the numbers t and u will
gives the closer approximation to its original number.
Computational algorithm: The Computational
algorithm is shown in figure 3. The algorithm consist
of two repetitive structure; one by i is to calculate
a[i,j] and b[i,j] for the f[j] co-efficient.
Figure 3: SOPOT 𝑎𝑎𝑖𝑖,𝑘𝑘 and 𝑏𝑏𝑖𝑖,𝑘𝑘 terms calculation algorithm
FPGA Implementation of Fir Filter using Various Algorithms: A Retrospective 23
www.ijorcs.org
Table 3: Example of Two and Three SOPOT
Integer Two SOPOT Three SOPOT
13 23
+ 22
=12 (8%) 23
+ 22
+ 20
=13
(0%)
25 24
+ 23
=24 (4%) 24
+ 23
+ 20
=25
(0%)
67 26
+ 21
=66 (2%) 26
+ 21
+ 20
=67
(0%)
IV. COMPARISION OF ALGORITHMS BASED ON
SURVEY
DA algorithm reduces the complexity of FIR filter
by converting MAC operation to serial of look up
table. CSE algorithm reduces the adder by just finding
the multiple event and SOPOT is converting
coefficient into power of two format and eliminate the
complete Multiplication block. Among the three
algorithm DA is easy to implement at the cost of
storage resources.
V. CONCLUSION
The realization structure of FIR filter consists of a
MAC operation which is made up of multipliers and
adders. DA algorithm, it completely eliminate the
multiplication block by converting complicated MAC
operation to look-up table access and summation at the
cost of increasing storage resource where DA-OBC
based architecture will decreases the LUT size by half
and make operation speed faster. In CSE algorithm, It
eliminate the multipliers and adders by identifying the
multiple event that have an identical bit pattern and
SOPOT algorithm diminished the complexity of
working task by completely abolishing the
multiplication block by only adders and shifter. So
According to our survey, DA structure is easy to
implement on FPGA because of pre-calculated results
are already stored in LUTs and in FPGA it is easy to
design but the main drawback of this algorithm is that,
it uses an extra resources. Where the SOPOT is used
for low power and low area application as it uses
shift/add multiplexer based multiplier. The CSE
algorithm is used to find and eliminate most common
event among filter co-efficient which results in power
and area saving by reducing multiplier with a small
number of adders while implemented in FIR filters.
VI. REFERENCES
[1] Steven W. Smith, “The Scientist and Engineer’s Guide
to Digital Signal Processing”. California Technical
Publishing San Diego, California, Second Edition 1999.
[2] Wang, Wei, Swamy, M.N.S., Ahmad, M.O., "Low
power FIR filter FPGA implementation based on
distributed arithmetic and residue number
system" Circuits and Systems, 2001. MWSCAS 2001.
Proceedings of the 44th IEEE 2001 Midwest
Symposium on, vol.1, no., pp.102, 105 vol.1, 2001. doi:
10.1109/MWSCAS.2001.986125
[3] Saurabh Singh Rajput, Dr.S.S.Bhadauria,
“Implementation of Fir Filter Using Efficient Window
Function and Its Application in Filtering a Speech
Signal” International Journal of Electronics and
Mechanical Controls, Volume 1 Issue 1 November
2012.
[4] Sen M. Kuo, Bob. H. Lee and Wenshun Tian, “Real-
Time Digital Signal Processing Implementations and
Applications” John Wiley & Sons, Ltd, England,
Second Edition 2006.
[5] Sonika Gupta, Aman Panghal, “Performance Analysis
of FIR Filter Design by Using Rectangular, Hanning
and Hamming Windows Method,” International
Journal of Advanced Research in Computer Science
and Software Engineering, Volume 2, Issue 6, June
2012.
[6] Gao Jinding, Hou Yubao, Su Long, "Design and FPGA
Implementation of Linear FIR Low-pass Filter Based
on Kaiser Window Function", International Conference
on Intelligent Computation Technology and Automation
(ICICTA), vol.2, no., pp.496-498, 28-29 March 2011.
doi: 10.1109/ICICTA.2011.408
[7] Croisier, D.J.Esteban, M.E.Levilion, V.Rizo, "Digital
Filter for PCM Encoded Signals" U.S.Patent, No.3, 777,
130, 1973.
[8] A. Peled and B. Liu, “A new hardware realization of
digital filters” IEEE Transactions on A.S.S.P., vol.
ASSP-22, pp. 456–462, December 1974.
[9] Bo Hong, Haibin Yin, Xiumin Wang, Ying Xiao,
"Implementation of FIR filter on FPGA using DA-OBC
algorithm", 2nd International Conference on
Information Science and Engineering (ICISE), vol., no.,
pp.3761,3764, 4-6 Dec. 2010.
[10] M. Thenmozhi, N. Kirthika, "Analysis of Efficient
Architectures for FIR filters using Common
Subexpression Elimination Algorithm,” International
Journal of Scientific & Technology Research, Volume
1, Issue 4, May 2012.
[11] Damian, C. Lunca, E., "A low area FIR filter for FPGA
implementation", 34th International Conference on
Telecommunications and Signal Processing (TSP),
pp.521-524, 18-20 Aug. 2011. doi: 10.1109/TSP.
2011.6043675
[12] Heejong Yoo, David V.anderson, "Hardware-efficient
distributed arithmetic architecture for high-order digital
filters" in proc. IEEE International conference on
Acoustics, speech, and signal processing
(ICASSP’05),vol.5, pp.125-128 2005. doi:
10.1109/ICASSP.2005.1416256
[13] Mahesh, R. Vinod, A.P., "A New Common
Subexpression Elimination Algorithm for Realizing
Low-Complexity Higher Order Digital Filters", IEEE
Transactions on Computer-Aided Design of Integrated
Circuits and Systems , vol.27, no.2, pp.217,229, Feb.
2008. doi: 10.1109/TCAD.2007.907064
[14] John G. Proakis., Dimitris G. Manokalis, “Digital
Signal Processing Principle algorithms and
24 Jinalkumari K. Dhobi, Dr. Y. B. Shukla, Dr. K.R.Bhatt
www.ijorcs.org
applications” PHI publication, New Jersey, Third
Edition 2004.
[15] Catalin Damian, Cristian Zet, Cristian Fosalau, Mihai
Cretu, “Real, Reactive and Apparent Power Computing
Using FPGA and PWM Intermediary Conversion” XX
IMEKO TC4, Florence, Italy, Sept. 2008.
[16] K. S. Yeung, S. C. Chan, “Multiplier-Less Digital
Filters Using Programmable Sum-Of-Power-Of-Two
(Sopot) Coefficients”, IEEE International Conference
on Field Programmable Technology, pp.78 – 84, Dec.
2002. doi: 10.1109/FPT.2002.1188667
How to cite
Jinalkumari K. Dhobi, Dr. Y. B. Shukla, Dr. K.R.Bhatt, “FPGA Implementation of Fir Filter using Various
Algorithms: A Retrospective”. International Journal of Research in Computer Science, 4 (2): pp. 19-24, March
2014. doi: 10.7815/ijorcs.42.2014.081
Ad

Recommended

DELD Unit IV ring and twisted ring counter
DELD Unit IV ring and twisted ring counter
KanchanPatil34
 
MICROPROCESSOR & MICROCONTROLLER 8086,8051 Notes
MICROPROCESSOR & MICROCONTROLLER 8086,8051 Notes
Velalar College of Engineering and Technology
 
Properties of dft
Properties of dft
tamil arasan
 
Fir filter design (windowing technique)
Fir filter design (windowing technique)
Bin Biny Bino
 
D ecimation and interpolation
D ecimation and interpolation
Suchi Verma
 
Digital signal processing part1
Digital signal processing part1
Vaagdevi College of Engineering
 
Wireless Channel Modeling - MATLAB Simulation Approach
Wireless Channel Modeling - MATLAB Simulation Approach
Jayamohan Govindaraj
 
Dsp U Lec10 DFT And FFT
Dsp U Lec10 DFT And FFT
taha25
 
Digital Signal Processing[ECEG-3171]-Ch1_L04
Digital Signal Processing[ECEG-3171]-Ch1_L04
Rediet Moges
 
CS304PC:Computer Organization and Architecture Session 3 micro operations.pptx
CS304PC:Computer Organization and Architecture Session 3 micro operations.pptx
Guru Nanak Technical Institutions
 
IIR filter
IIR filter
ssuser2797e4
 
Introduction to Adaptive filters
Introduction to Adaptive filters
Firas Mohammed Ali Al-Raie
 
Multirate DSP
Multirate DSP
@zenafaris91
 
signal flow graph
signal flow graph
Rajput Manthan
 
Fft
Fft
John Williams
 
discrete wavelet transform
discrete wavelet transform
piyush_11
 
Overview of Shift register and applications
Overview of Shift register and applications
Karthik Kumar
 
DSP Based Implementation of Scrambler for 56kbps Modem
DSP Based Implementation of Scrambler for 56kbps Modem
CSCJournals
 
Z transform ROC eng.Math
Z transform ROC eng.Math
Adhana Hary Wibowo
 
floating point multiplier
floating point multiplier
Bipin Likhar
 
Digital Filters Part 1
Digital Filters Part 1
Premier Farnell
 
State table and characteristic equation for sequential circuit
State table and characteristic equation for sequential circuit
Preet_patel
 
Power delay profile,delay spread and doppler spread
Power delay profile,delay spread and doppler spread
Manish Srivastava
 
Difference between combinational and
Difference between combinational and
Damodar Panigrahy
 
An introduction to discrete wavelet transforms
An introduction to discrete wavelet transforms
Lily Rose
 
Properties of fourier transform
Properties of fourier transform
Nisarg Amin
 
Actel fpga
Actel fpga
Anish Gupta
 
Smart traffic light controller using verilog
Smart traffic light controller using verilog
VaishaliVaishali14
 
Digital filter design using VHDL
Digital filter design using VHDL
Arko Das
 
Digital filter design using VHDL
Digital filter design using VHDL
Arko Das
 

More Related Content

What's hot (20)

Digital Signal Processing[ECEG-3171]-Ch1_L04
Digital Signal Processing[ECEG-3171]-Ch1_L04
Rediet Moges
 
CS304PC:Computer Organization and Architecture Session 3 micro operations.pptx
CS304PC:Computer Organization and Architecture Session 3 micro operations.pptx
Guru Nanak Technical Institutions
 
IIR filter
IIR filter
ssuser2797e4
 
Introduction to Adaptive filters
Introduction to Adaptive filters
Firas Mohammed Ali Al-Raie
 
Multirate DSP
Multirate DSP
@zenafaris91
 
signal flow graph
signal flow graph
Rajput Manthan
 
Fft
Fft
John Williams
 
discrete wavelet transform
discrete wavelet transform
piyush_11
 
Overview of Shift register and applications
Overview of Shift register and applications
Karthik Kumar
 
DSP Based Implementation of Scrambler for 56kbps Modem
DSP Based Implementation of Scrambler for 56kbps Modem
CSCJournals
 
Z transform ROC eng.Math
Z transform ROC eng.Math
Adhana Hary Wibowo
 
floating point multiplier
floating point multiplier
Bipin Likhar
 
Digital Filters Part 1
Digital Filters Part 1
Premier Farnell
 
State table and characteristic equation for sequential circuit
State table and characteristic equation for sequential circuit
Preet_patel
 
Power delay profile,delay spread and doppler spread
Power delay profile,delay spread and doppler spread
Manish Srivastava
 
Difference between combinational and
Difference between combinational and
Damodar Panigrahy
 
An introduction to discrete wavelet transforms
An introduction to discrete wavelet transforms
Lily Rose
 
Properties of fourier transform
Properties of fourier transform
Nisarg Amin
 
Actel fpga
Actel fpga
Anish Gupta
 
Smart traffic light controller using verilog
Smart traffic light controller using verilog
VaishaliVaishali14
 
Digital Signal Processing[ECEG-3171]-Ch1_L04
Digital Signal Processing[ECEG-3171]-Ch1_L04
Rediet Moges
 
CS304PC:Computer Organization and Architecture Session 3 micro operations.pptx
CS304PC:Computer Organization and Architecture Session 3 micro operations.pptx
Guru Nanak Technical Institutions
 
discrete wavelet transform
discrete wavelet transform
piyush_11
 
Overview of Shift register and applications
Overview of Shift register and applications
Karthik Kumar
 
DSP Based Implementation of Scrambler for 56kbps Modem
DSP Based Implementation of Scrambler for 56kbps Modem
CSCJournals
 
floating point multiplier
floating point multiplier
Bipin Likhar
 
State table and characteristic equation for sequential circuit
State table and characteristic equation for sequential circuit
Preet_patel
 
Power delay profile,delay spread and doppler spread
Power delay profile,delay spread and doppler spread
Manish Srivastava
 
Difference between combinational and
Difference between combinational and
Damodar Panigrahy
 
An introduction to discrete wavelet transforms
An introduction to discrete wavelet transforms
Lily Rose
 
Properties of fourier transform
Properties of fourier transform
Nisarg Amin
 
Smart traffic light controller using verilog
Smart traffic light controller using verilog
VaishaliVaishali14
 

Viewers also liked (13)

Digital filter design using VHDL
Digital filter design using VHDL
Arko Das
 
Digital filter design using VHDL
Digital filter design using VHDL
Arko Das
 
Fpga 11-sequence-detector-fir-iir-filter
Fpga 11-sequence-detector-fir-iir-filter
Malik Tauqir Hasan
 
FPGA Implementation of High Speed FIR Filters and less power consumption stru...
FPGA Implementation of High Speed FIR Filters and less power consumption stru...
International Journal of Engineering Inventions www.ijeijournal.com
 
High Performance DSP with Xilinx All Programmable Devices (Design Conference ...
High Performance DSP with Xilinx All Programmable Devices (Design Conference ...
Analog Devices, Inc.
 
Lord Ayyappa myth and historical facts
Lord Ayyappa myth and historical facts
Dilish Pillai
 
RISC Implementation Of Digital IIR Filter in DSP
RISC Implementation Of Digital IIR Filter in DSP
iosrjce
 
Zynq architecture
Zynq architecture
Nguyen Le Hung Nguyen
 
Next Generation Fiber Structured Cabling and Migration to 40/100g
Next Generation Fiber Structured Cabling and Migration to 40/100g
Panduit
 
Digital Beamforming for Simultaneous Power and Information Transmission in Wi...
Digital Beamforming for Simultaneous Power and Information Transmission in Wi...
idescitation
 
Filtro activo paso bajo Chebyshev
Filtro activo paso bajo Chebyshev
Tania Borrull Callejas
 
Dental assisting notes dental assistant's chairside pocket guide, 1 e (2015...
Dental assisting notes dental assistant's chairside pocket guide, 1 e (2015...
daongoclam
 
Design of Multiplier Less 32 Tap FIR Filter using VHDL
Design of Multiplier Less 32 Tap FIR Filter using VHDL
IJMER
 
Digital filter design using VHDL
Digital filter design using VHDL
Arko Das
 
Digital filter design using VHDL
Digital filter design using VHDL
Arko Das
 
Fpga 11-sequence-detector-fir-iir-filter
Fpga 11-sequence-detector-fir-iir-filter
Malik Tauqir Hasan
 
High Performance DSP with Xilinx All Programmable Devices (Design Conference ...
High Performance DSP with Xilinx All Programmable Devices (Design Conference ...
Analog Devices, Inc.
 
Lord Ayyappa myth and historical facts
Lord Ayyappa myth and historical facts
Dilish Pillai
 
RISC Implementation Of Digital IIR Filter in DSP
RISC Implementation Of Digital IIR Filter in DSP
iosrjce
 
Next Generation Fiber Structured Cabling and Migration to 40/100g
Next Generation Fiber Structured Cabling and Migration to 40/100g
Panduit
 
Digital Beamforming for Simultaneous Power and Information Transmission in Wi...
Digital Beamforming for Simultaneous Power and Information Transmission in Wi...
idescitation
 
Dental assisting notes dental assistant's chairside pocket guide, 1 e (2015...
Dental assisting notes dental assistant's chairside pocket guide, 1 e (2015...
daongoclam
 
Design of Multiplier Less 32 Tap FIR Filter using VHDL
Design of Multiplier Less 32 Tap FIR Filter using VHDL
IJMER
 
Ad

Similar to FPGA Implementation of FIR Filter using Various Algorithms: A Retrospective (20)

International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
IJERD Editor
 
Realization of high order iir digital bandstop filter using domain transfer a...
Realization of high order iir digital bandstop filter using domain transfer a...
Subhadeep Chakraborty
 
CANONIC SIGNED DIGIT BASED DESIGN OF MULTIPLIER-LESS FIR FILTER USING SELFORG...
CANONIC SIGNED DIGIT BASED DESIGN OF MULTIPLIER-LESS FIR FILTER USING SELFORG...
ijaia
 
Linear Phase FIR Low Pass Filter Design Based on Firefly Algorithm
Linear Phase FIR Low Pass Filter Design Based on Firefly Algorithm
IJECEIAES
 
Implementation and Performance Analysis of Kaiser and Hamming Window Techniqu...
Implementation and Performance Analysis of Kaiser and Hamming Window Techniqu...
IJERA Editor
 
Design and realization of iir digital band stop filter using modified analog ...
Design and realization of iir digital band stop filter using modified analog ...
Subhadeep Chakraborty
 
“FIELD PROGRAMMABLE DSP ARRAYS” - A NOVEL RECONFIGURABLE ARCHITECTURE FOR EFF...
“FIELD PROGRAMMABLE DSP ARRAYS” - A NOVEL RECONFIGURABLE ARCHITECTURE FOR EFF...
sipij
 
IRJET- Efficient Shift add Implementation of Fir Filter using Variable Pa...
IRJET- Efficient Shift add Implementation of Fir Filter using Variable Pa...
IRJET Journal
 
The International Journal of Engineering and Science (The IJES)
The International Journal of Engineering and Science (The IJES)
theijes
 
A Novel Architecture for Different DSP Applications Using Field Programmable ...
A Novel Architecture for Different DSP Applications Using Field Programmable ...
journal ijme
 
Ga3510571061
Ga3510571061
IJERA Editor
 
Design and implementation of two-dimensional digital finite impulse response...
Design and implementation of two-dimensional digital finite impulse response...
IJECEIAES
 
FPGA based Efficient Interpolator design using DALUT Algorithm
FPGA based Efficient Interpolator design using DALUT Algorithm
cscpconf
 
FPGA based Efficient Interpolator design using DALUT Algorithm
FPGA based Efficient Interpolator design using DALUT Algorithm
cscpconf
 
Efficient FPGA implementation of high speed digital delay for wideband beamfor...
Efficient FPGA implementation of high speed digital delay for wideband beamfor...
journalBEEI
 
Analysis of different FIR Filter Design Method in terms of Resource Utilizati...
Analysis of different FIR Filter Design Method in terms of Resource Utilizati...
ijsrd.com
 
Fault Tolerant Parallel Filters Based On Bch Codes
Fault Tolerant Parallel Filters Based On Bch Codes
IJERA Editor
 
Transpose Form Fir Filter Design for Fixed and Reconfigurable Coefficients
Transpose Form Fir Filter Design for Fixed and Reconfigurable Coefficients
IRJET Journal
 
Memory Based Hardware Efficient Implementation of FIR Filters
Memory Based Hardware Efficient Implementation of FIR Filters
Dr.SHANTHI K.G
 
SIMULATION OF FIR FILTER BASED ON CORDIC ALGORITHM
SIMULATION OF FIR FILTER BASED ON CORDIC ALGORITHM
VLSICS Design
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
IJERD Editor
 
Realization of high order iir digital bandstop filter using domain transfer a...
Realization of high order iir digital bandstop filter using domain transfer a...
Subhadeep Chakraborty
 
CANONIC SIGNED DIGIT BASED DESIGN OF MULTIPLIER-LESS FIR FILTER USING SELFORG...
CANONIC SIGNED DIGIT BASED DESIGN OF MULTIPLIER-LESS FIR FILTER USING SELFORG...
ijaia
 
Linear Phase FIR Low Pass Filter Design Based on Firefly Algorithm
Linear Phase FIR Low Pass Filter Design Based on Firefly Algorithm
IJECEIAES
 
Implementation and Performance Analysis of Kaiser and Hamming Window Techniqu...
Implementation and Performance Analysis of Kaiser and Hamming Window Techniqu...
IJERA Editor
 
Design and realization of iir digital band stop filter using modified analog ...
Design and realization of iir digital band stop filter using modified analog ...
Subhadeep Chakraborty
 
“FIELD PROGRAMMABLE DSP ARRAYS” - A NOVEL RECONFIGURABLE ARCHITECTURE FOR EFF...
“FIELD PROGRAMMABLE DSP ARRAYS” - A NOVEL RECONFIGURABLE ARCHITECTURE FOR EFF...
sipij
 
IRJET- Efficient Shift add Implementation of Fir Filter using Variable Pa...
IRJET- Efficient Shift add Implementation of Fir Filter using Variable Pa...
IRJET Journal
 
The International Journal of Engineering and Science (The IJES)
The International Journal of Engineering and Science (The IJES)
theijes
 
A Novel Architecture for Different DSP Applications Using Field Programmable ...
A Novel Architecture for Different DSP Applications Using Field Programmable ...
journal ijme
 
Design and implementation of two-dimensional digital finite impulse response...
Design and implementation of two-dimensional digital finite impulse response...
IJECEIAES
 
FPGA based Efficient Interpolator design using DALUT Algorithm
FPGA based Efficient Interpolator design using DALUT Algorithm
cscpconf
 
FPGA based Efficient Interpolator design using DALUT Algorithm
FPGA based Efficient Interpolator design using DALUT Algorithm
cscpconf
 
Efficient FPGA implementation of high speed digital delay for wideband beamfor...
Efficient FPGA implementation of high speed digital delay for wideband beamfor...
journalBEEI
 
Analysis of different FIR Filter Design Method in terms of Resource Utilizati...
Analysis of different FIR Filter Design Method in terms of Resource Utilizati...
ijsrd.com
 
Fault Tolerant Parallel Filters Based On Bch Codes
Fault Tolerant Parallel Filters Based On Bch Codes
IJERA Editor
 
Transpose Form Fir Filter Design for Fixed and Reconfigurable Coefficients
Transpose Form Fir Filter Design for Fixed and Reconfigurable Coefficients
IRJET Journal
 
Memory Based Hardware Efficient Implementation of FIR Filters
Memory Based Hardware Efficient Implementation of FIR Filters
Dr.SHANTHI K.G
 
SIMULATION OF FIR FILTER BASED ON CORDIC ALGORITHM
SIMULATION OF FIR FILTER BASED ON CORDIC ALGORITHM
VLSICS Design
 
Ad

More from IJORCS (20)

Help the Genetic Algorithm to Minimize the Urban Traffic on Intersections
Help the Genetic Algorithm to Minimize the Urban Traffic on Intersections
IJORCS
 
Call for Papers - IJORCS, Volume 4 Issue 4
Call for Papers - IJORCS, Volume 4 Issue 4
IJORCS
 
Real-Time Multiple License Plate Recognition System
Real-Time Multiple License Plate Recognition System
IJORCS
 
Using Virtualization Technique to Increase Security and Reduce Energy Consump...
Using Virtualization Technique to Increase Security and Reduce Energy Consump...
IJORCS
 
Algebraic Fault Attack on the SHA-256 Compression Function
Algebraic Fault Attack on the SHA-256 Compression Function
IJORCS
 
Enhancement of DES Algorithm with Multi State Logic
Enhancement of DES Algorithm with Multi State Logic
IJORCS
 
Hybrid Simulated Annealing and Nelder-Mead Algorithm for Solving Large-Scale ...
Hybrid Simulated Annealing and Nelder-Mead Algorithm for Solving Large-Scale ...
IJORCS
 
CFP. IJORCS, Volume 4 - Issue2
CFP. IJORCS, Volume 4 - Issue2
IJORCS
 
Call for Papers - IJORCS - Vol 4, Issue 1
Call for Papers - IJORCS - Vol 4, Issue 1
IJORCS
 
Voice Recognition System using Template Matching
Voice Recognition System using Template Matching
IJORCS
 
Channel Aware Mac Protocol for Maximizing Throughput and Fairness
Channel Aware Mac Protocol for Maximizing Throughput and Fairness
IJORCS
 
A Review and Analysis on Mobile Application Development Processes using Agile...
A Review and Analysis on Mobile Application Development Processes using Agile...
IJORCS
 
Congestion Prediction and Adaptive Rate Adjustment Technique for Wireless Sen...
Congestion Prediction and Adaptive Rate Adjustment Technique for Wireless Sen...
IJORCS
 
A Study of Routing Techniques in Intermittently Connected MANETs
A Study of Routing Techniques in Intermittently Connected MANETs
IJORCS
 
Improving the Efficiency of Spectral Subtraction Method by Combining it with ...
Improving the Efficiency of Spectral Subtraction Method by Combining it with ...
IJORCS
 
An Adaptive Load Sharing Algorithm for Heterogeneous Distributed System
An Adaptive Load Sharing Algorithm for Heterogeneous Distributed System
IJORCS
 
The Design of Cognitive Social Simulation Framework using Statistical Methodo...
The Design of Cognitive Social Simulation Framework using Statistical Methodo...
IJORCS
 
An Enhanced Framework for Improving Spatio-Temporal Queries for Global Positi...
An Enhanced Framework for Improving Spatio-Temporal Queries for Global Positi...
IJORCS
 
A PSO-Based Subtractive Data Clustering Algorithm
A PSO-Based Subtractive Data Clustering Algorithm
IJORCS
 
Call for papers, IJORCS, Volume 3 - Issue 3
Call for papers, IJORCS, Volume 3 - Issue 3
IJORCS
 
Help the Genetic Algorithm to Minimize the Urban Traffic on Intersections
Help the Genetic Algorithm to Minimize the Urban Traffic on Intersections
IJORCS
 
Call for Papers - IJORCS, Volume 4 Issue 4
Call for Papers - IJORCS, Volume 4 Issue 4
IJORCS
 
Real-Time Multiple License Plate Recognition System
Real-Time Multiple License Plate Recognition System
IJORCS
 
Using Virtualization Technique to Increase Security and Reduce Energy Consump...
Using Virtualization Technique to Increase Security and Reduce Energy Consump...
IJORCS
 
Algebraic Fault Attack on the SHA-256 Compression Function
Algebraic Fault Attack on the SHA-256 Compression Function
IJORCS
 
Enhancement of DES Algorithm with Multi State Logic
Enhancement of DES Algorithm with Multi State Logic
IJORCS
 
Hybrid Simulated Annealing and Nelder-Mead Algorithm for Solving Large-Scale ...
Hybrid Simulated Annealing and Nelder-Mead Algorithm for Solving Large-Scale ...
IJORCS
 
CFP. IJORCS, Volume 4 - Issue2
CFP. IJORCS, Volume 4 - Issue2
IJORCS
 
Call for Papers - IJORCS - Vol 4, Issue 1
Call for Papers - IJORCS - Vol 4, Issue 1
IJORCS
 
Voice Recognition System using Template Matching
Voice Recognition System using Template Matching
IJORCS
 
Channel Aware Mac Protocol for Maximizing Throughput and Fairness
Channel Aware Mac Protocol for Maximizing Throughput and Fairness
IJORCS
 
A Review and Analysis on Mobile Application Development Processes using Agile...
A Review and Analysis on Mobile Application Development Processes using Agile...
IJORCS
 
Congestion Prediction and Adaptive Rate Adjustment Technique for Wireless Sen...
Congestion Prediction and Adaptive Rate Adjustment Technique for Wireless Sen...
IJORCS
 
A Study of Routing Techniques in Intermittently Connected MANETs
A Study of Routing Techniques in Intermittently Connected MANETs
IJORCS
 
Improving the Efficiency of Spectral Subtraction Method by Combining it with ...
Improving the Efficiency of Spectral Subtraction Method by Combining it with ...
IJORCS
 
An Adaptive Load Sharing Algorithm for Heterogeneous Distributed System
An Adaptive Load Sharing Algorithm for Heterogeneous Distributed System
IJORCS
 
The Design of Cognitive Social Simulation Framework using Statistical Methodo...
The Design of Cognitive Social Simulation Framework using Statistical Methodo...
IJORCS
 
An Enhanced Framework for Improving Spatio-Temporal Queries for Global Positi...
An Enhanced Framework for Improving Spatio-Temporal Queries for Global Positi...
IJORCS
 
A PSO-Based Subtractive Data Clustering Algorithm
A PSO-Based Subtractive Data Clustering Algorithm
IJORCS
 
Call for papers, IJORCS, Volume 3 - Issue 3
Call for papers, IJORCS, Volume 3 - Issue 3
IJORCS
 

Recently uploaded (20)

How Psychology Can Power Product Decisions: A Human-Centered Blueprint- Shray...
How Psychology Can Power Product Decisions: A Human-Centered Blueprint- Shray...
ShrayasiRoy
 
1-SEAFLOOR-SPREADINGGGGGGGGGGGGGGGGGGGG.pptx
1-SEAFLOOR-SPREADINGGGGGGGGGGGGGGGGGGGG.pptx
JohnCristoffMendoza
 
MOLD -GENERAL CHARACTERISTICS AND CLASSIFICATION
MOLD -GENERAL CHARACTERISTICS AND CLASSIFICATION
aparnamp966
 
Climate and Weather_SCIENCE9-QUARTER3.pptx
Climate and Weather_SCIENCE9-QUARTER3.pptx
Dayan Espartero
 
Relazione di laboratorio Idrolisi dell'amido (in inglese)
Relazione di laboratorio Idrolisi dell'amido (in inglese)
paolofvesco
 
Chromatography Slides for the course of Introduction to Biology and Chemistry...
Chromatography Slides for the course of Introduction to Biology and Chemistry...
Md. Arif Shahriar
 
lysosomes "suicide bags of cell" and hydrolytic enzymes
lysosomes "suicide bags of cell" and hydrolytic enzymes
kchaturvedi070
 
The scientific heritage No 162 (162) (2025)
The scientific heritage No 162 (162) (2025)
The scientific heritage
 
Human Body Systems: Organ systemsss.pptx
Human Body Systems: Organ systemsss.pptx
marionrada1985
 
STAPHYLOCOCCAL AND STREPTOCOCCAL INFECTIONS 2.ppt
STAPHYLOCOCCAL AND STREPTOCOCCAL INFECTIONS 2.ppt
pakranti27
 
TISSUE TRANSPLANTATTION and IT'S IMPORTANCE IS DISCUSSED
TISSUE TRANSPLANTATTION and IT'S IMPORTANCE IS DISCUSSED
PhoebeAkinyi1
 
Science 7 DLL Week 1 Quarter 1 Matatag Curriculum
Science 7 DLL Week 1 Quarter 1 Matatag Curriculum
RONAFAITHLOOC
 
Gas Exchange in Insects and structures 01
Gas Exchange in Insects and structures 01
PhoebeAkinyi1
 
pollination njnjnjnjnjnjjnjnjnjnjnjnjnnj
pollination njnjnjnjnjnjjnjnjnjnjnjnjnnj
bhg31shagnik
 
Role of Glutamate, glutamine and Alanine in Transport of Ammonia in Tissues
Role of Glutamate, glutamine and Alanine in Transport of Ammonia in Tissues
Tayyab
 
Investigatory_project Topic:-effect of electrolysis in solar desalination .pdf
Investigatory_project Topic:-effect of electrolysis in solar desalination .pdf
shubham997ku
 
Overview of Stem Cells and Immune Modulation.ppsx
Overview of Stem Cells and Immune Modulation.ppsx
AhmedAtwa29
 
Operationalising OGC Processes with Application Packages in ILIAD: A Service ...
Operationalising OGC Processes with Application Packages in ILIAD: A Service ...
Marco Amaro Oliveira
 
An Analysis Of The Pearl Short Story By John Steinbeck
An Analysis Of The Pearl Short Story By John Steinbeck
BillyDarmawan3
 
History of Nursing and Nursing As A Profession UNIT-3.pptx
History of Nursing and Nursing As A Profession UNIT-3.pptx
madhusrinivas68
 
How Psychology Can Power Product Decisions: A Human-Centered Blueprint- Shray...
How Psychology Can Power Product Decisions: A Human-Centered Blueprint- Shray...
ShrayasiRoy
 
1-SEAFLOOR-SPREADINGGGGGGGGGGGGGGGGGGGG.pptx
1-SEAFLOOR-SPREADINGGGGGGGGGGGGGGGGGGGG.pptx
JohnCristoffMendoza
 
MOLD -GENERAL CHARACTERISTICS AND CLASSIFICATION
MOLD -GENERAL CHARACTERISTICS AND CLASSIFICATION
aparnamp966
 
Climate and Weather_SCIENCE9-QUARTER3.pptx
Climate and Weather_SCIENCE9-QUARTER3.pptx
Dayan Espartero
 
Relazione di laboratorio Idrolisi dell'amido (in inglese)
Relazione di laboratorio Idrolisi dell'amido (in inglese)
paolofvesco
 
Chromatography Slides for the course of Introduction to Biology and Chemistry...
Chromatography Slides for the course of Introduction to Biology and Chemistry...
Md. Arif Shahriar
 
lysosomes "suicide bags of cell" and hydrolytic enzymes
lysosomes "suicide bags of cell" and hydrolytic enzymes
kchaturvedi070
 
The scientific heritage No 162 (162) (2025)
The scientific heritage No 162 (162) (2025)
The scientific heritage
 
Human Body Systems: Organ systemsss.pptx
Human Body Systems: Organ systemsss.pptx
marionrada1985
 
STAPHYLOCOCCAL AND STREPTOCOCCAL INFECTIONS 2.ppt
STAPHYLOCOCCAL AND STREPTOCOCCAL INFECTIONS 2.ppt
pakranti27
 
TISSUE TRANSPLANTATTION and IT'S IMPORTANCE IS DISCUSSED
TISSUE TRANSPLANTATTION and IT'S IMPORTANCE IS DISCUSSED
PhoebeAkinyi1
 
Science 7 DLL Week 1 Quarter 1 Matatag Curriculum
Science 7 DLL Week 1 Quarter 1 Matatag Curriculum
RONAFAITHLOOC
 
Gas Exchange in Insects and structures 01
Gas Exchange in Insects and structures 01
PhoebeAkinyi1
 
pollination njnjnjnjnjnjjnjnjnjnjnjnjnnj
pollination njnjnjnjnjnjjnjnjnjnjnjnjnnj
bhg31shagnik
 
Role of Glutamate, glutamine and Alanine in Transport of Ammonia in Tissues
Role of Glutamate, glutamine and Alanine in Transport of Ammonia in Tissues
Tayyab
 
Investigatory_project Topic:-effect of electrolysis in solar desalination .pdf
Investigatory_project Topic:-effect of electrolysis in solar desalination .pdf
shubham997ku
 
Overview of Stem Cells and Immune Modulation.ppsx
Overview of Stem Cells and Immune Modulation.ppsx
AhmedAtwa29
 
Operationalising OGC Processes with Application Packages in ILIAD: A Service ...
Operationalising OGC Processes with Application Packages in ILIAD: A Service ...
Marco Amaro Oliveira
 
An Analysis Of The Pearl Short Story By John Steinbeck
An Analysis Of The Pearl Short Story By John Steinbeck
BillyDarmawan3
 
History of Nursing and Nursing As A Profession UNIT-3.pptx
History of Nursing and Nursing As A Profession UNIT-3.pptx
madhusrinivas68
 

FPGA Implementation of FIR Filter using Various Algorithms: A Retrospective

  • 1. International Journal of Research in Computer Science eISSN 2249-8265 Volume 4 Issue 2 (2014) pp. 19-24 www.ijorcs.org, A Unit of White Globe Publications doi: 10.7815/ijorcs.42.2014.081 www.ijorcs.org FPGA IMPLEMENTATION OF FIR FILTER USING VARIOUS ALGORITHMS: A RETROSPECTIVE Jinalkumari K. Dhobi1 , Dr. Y. B. Shukla2 , Dr. K.R.Bhatt3 1 P.G. Student, EC Dept., SVIT, Vasad Email: [email protected] 2 Assoc. Prof., EC Dept., SVIT, Vasad Email: [email protected] Assoc. Prof., EC Dept., SVIT, Vasad Email: [email protected] Abstract: This manuscript is a thorough study of FPGA implementation of Finite Impulse response (FIR) with low cost and high performance. The key observation of this paper is an elaborate analysis about hardware implementations of FIR filters using different algorithm i.e., Distributed Arithmetic (DA), DA-Offset Binary Coding (DA-OBC), Common Sub- expression Elimination (CSE) and sum-of-power-of- two (SOPOT) with less resources and without affecting the performance of the original FIR Filter. Keywords: DA, DA-OBC, CSE, SOPOT, FPGA I. INTRODUCTION A digital filter is a system that carry out mathematical operation on a sampled of discrete time signal to modify or alter the component of the signal in time or frequency domain. It consist of an analog-to- digital converter at front end, followed by a microprocessor and some peripheral component i.e., memory to store data & filter coefficients. At the backend side a digital-to-analog converter is used to complete the output stage. For a real time applications, an FPGA or ASIC or Specialized DSP with parallel architecture is used instead of a general purpose microprocessor. Digital filters can be implemented in two ways, by convolution (FIR) and by recursion (IIR) [1]. A FIR filter has a number of useful properties compared to an IIR filter i.e. inherently stable, no feedback require, designed to be linear phase. With recent trend towards portable computing and wireless communication systems, power consumption has been an important design consideration [2] so the field programmable gate array (FPGA) is an alternative solution for realization of digital signal processing task. This paper is organized as follows: section II introduced design method of the FIR filter, section III describes the various algorithms to implement the FIR filter on FPGA, Section IV discusses the Comparison of algorithms and finally the conclusion is presented in section V. II. DESIGN METHODS FIR filters are used where exact linear phase response is required. It is non-recursive filter, consists of two parts one is Approximation problem and second one is Realization problem. The steps of approximation are, first take the Ideal frequency response after that choose the Class of filter & Quality of approximation and finally select the Method to find the filter transfer function. The realization part select the structure to implement the transfer function. There are mainly three well-known methods for designing FIR filter namely the window method, Frequency sampling technique and Optimal filter design method. Among these three methods, window method is simple and efficient way to design an FIR filter [3]. In this method, first start with the ideal desired frequency response 𝐻𝐻𝑑𝑑 �𝑒𝑒𝑗𝑗 𝑗𝑗 � of the specified filter then Compute the inverse DTFT of 𝐻𝐻𝑑𝑑 �𝑒𝑒𝑗𝑗 𝑗𝑗 � i.e., ℎ𝑑𝑑 (𝑛𝑛) which is infinite in duration after that Choose an appropriate window function 𝑤𝑤(𝑛𝑛) and calculate the impulse response ℎ(𝑛𝑛) of specified filter as ℎ(𝑛𝑛) = ℎ𝑑𝑑 (𝑛𝑛) ∗ 𝑤𝑤(𝑛𝑛) to truncated at some point n=M-1. Once ℎ(𝑛𝑛) is determined, it’s DTFT 𝐻𝐻�𝑒𝑒𝑗𝑗 𝑗𝑗 � and Z- transform 𝐻𝐻(𝑧𝑧) can be calculated for any further analysis. For truncation in third step of ℎ𝑑𝑑 (𝑛𝑛) to M- terms, direct truncation method using rectangular window 𝑤𝑤(𝑛𝑛) is multiplied with ℎ𝑑𝑑 (𝑛𝑛) which is infinite in nature but rectangular window contain sharp discontinuity which leads to Gibbs Phenomenon effect [4]. In order to reduce the ripples, instead of sharp discontinuity function, choose a window function having taper and decays toward zero gradually [4]. Some of window [5] commonly used are as followed: 1. Bartlett Triangular window: 𝑤𝑤(𝑛𝑛) = ⎩ ⎪ ⎨ ⎪ ⎧ 2(𝑛𝑛 + 1) 𝑁𝑁 + 1 , 𝑛𝑛 = 0 𝑡𝑡𝑡𝑡 (𝑁𝑁 − 1)/2 2 − 2(𝑛𝑛 + 1) 𝑁𝑁 + 1 , 𝑛𝑛 = (𝑁𝑁 − 1)/2 𝑡𝑡𝑡𝑡 (𝑁𝑁 − 1) 0 𝑂𝑂𝑂𝑂ℎ𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒 … . (1) 2. Generalized cosine windows:
  • 2. 20 Jinalkumari K. Dhobi, Dr. Y. B. Shukla, Dr. K.R.Bhatt www.ijorcs.org (Rectangular, Hanning, Hamming and Blackman) 𝑤𝑤(𝑛𝑛) = 𝑎𝑎 − 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏 � 2𝑝𝑝(𝑛𝑛 + 1) 𝑁𝑁 + 1 � + 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 � 4𝑝𝑝(𝑛𝑛 + 1) 𝑁𝑁 + 1 � Where n = 0 to N-1 …. (2) 3. Kaiser window with parameter β: 𝑤𝑤(𝑛𝑛) = 𝐼𝐼0(𝛽𝛽�1 − �1 − 2(𝑛𝑛) 𝑁𝑁−1 � 2 𝐼𝐼0(𝛽𝛽) Where n= 0 to N-1 …. (3) 𝑀𝑀 = δ2 − 7.95 2.286∆ω …. (4) β= ⎩ ⎨ ⎧ 0.1102(δ2 − 8.7), δ2 ≥ 50𝑑𝑑𝑑𝑑 0.5842(δ2 − 21)0.4 + 0.07886(δ2 − 21), 21𝑑𝑑𝑑𝑑 < δ2 < 50𝑑𝑑𝑑𝑑 0, δ2 ≤ 21𝑑𝑑𝑑𝑑 .... (5) In Rectangular window, due to the direct truncation of ℎ𝑑𝑑 (𝑛𝑛) leads to the Gibbs phenomenon effect which apparent itself as a fixed percentage overshoot and ripple before and after an approximated discontinuity in the frequency response due to the non- uniform convergence of the Fourier series at the discontinuity [5]. According to the simulation result [5] obtained from FDAtool, the Bartlett window reduced the overshoot in the designed filter but spreads the transition region. The generalized cosine window, Hanning, Hamming and Blackman is complicated but provide a smooth truncation of ideal impulse response and a frequency response. The best window method is Kaiser Window because it has the shape parameter β which depending on the filter taps M was used to adjust the main lobe width and side lobe attenuation, choosing M can produce a variety of transition band and optimal stopband attenuation [6]. When the transition band ∆ω(rad) and the stopband attenuation δ2 = −20𝑙𝑙𝑙𝑙 𝑙𝑙10 𝛼𝛼2(𝑑𝑑𝑑𝑑) were given, the Kaiser FIR filter taps M and the shape parameter β can be obtained from equation (4) and (5) [6]. III. FPGA IMPLEMENTATION USING VARIOUS ALGORITHMS The application of digital filter are widespread and include but are not limited to the Communication System, Audio System, Instrumentation, Image- Processing and enhancement, Speech synthesis. It is nowadays convenient to consider computer programs and digital hardware that can perform digital filtering as two different implementations of digital filters, namely, Software digital filters, and Hardware digital filters. Software digital filters can be implemented in terms of a high-level language, such as C++ or MATLAB, on a personal computer or workstation or by using a low-level language on a general-purpose digital signal processing chip. Hardware digital filter can be designed using a number of highly specialized interconnected VLSI chips like DSP, ASIC and FPGA. Software digital filter have no counterpart in the analog world and therefore, for non-real-time application they are the only choice. ASIC based Implementation of FIR Filter provides little costlier and long development time but gives high flexibility. The realization of FIR filter based on FPGA received extensive attention because it gives high flexibility, high performance, low cost and shorter development time [8]. The core of the FIR filter implementation is multiplication and accumulation (MAC) operation. The design method of MAC can be define using various algorithm and techniques. One is general direct MAC structure, which are expensive in hardware because of logic complexity and area usage. The others are Distributed Arithmetic (DA) [7], DA-Offset Binary Coding (DA-OBC) [9], Common Subexpression Elimination (CSE) [10] and Sum-of-power-of-two (SOPOT) [11] which reduced the required number of multiplier and adders. A. Distributed arithmetic and DA-OBC Distributed Arithmetic is a famous method, which converts calculation of MAC to a serial of look up table accesses and summation [8]. It was initially proposed by Croisier in 1973 [7] and further developed by Peled and Lui [8].The principle of DA algorithm is as follows: An FIR filter of N order is shown as Eq. (6) 𝑦𝑦(𝑛𝑛) = ∑ ℎ𝑘𝑘 𝑥𝑥𝑘𝑘(𝑛𝑛)𝑁𝑁−1 𝑘𝑘=0 …. (6) Where ℎ𝑘𝑘the set of constant coefficient of the filter is, 𝑦𝑦(𝑛𝑛) is the output data, 𝑥𝑥𝑘𝑘(𝑛𝑛) is the input data, which can be expressed as Eq. (7) using m-bit 2’s complementary binary number. 𝑥𝑥𝑘𝑘 = −𝑥𝑥𝑘𝑘,𝑚𝑚−1 + ∑ 𝑥𝑥𝑘𝑘,𝑚𝑚−1−𝑗𝑗 𝑚𝑚−1 𝑗𝑗=1 2−𝑗𝑗 …. (7) Where 𝑥𝑥𝑘𝑘,𝑚𝑚−1 is the most significant bit of 𝑥𝑥𝑘𝑘, Eq. (8) can be derived when 𝑥𝑥𝑘𝑘 of Eq. (7) is substitute into Eq. (6). 𝑦𝑦(𝑛𝑛) = � ℎ𝑘𝑘[−𝑥𝑥𝑘𝑘,𝑚𝑚−1 + � 𝑥𝑥𝑘𝑘,𝑚𝑚−1−𝑗𝑗 𝑚𝑚−1 𝑗𝑗 =1 2−𝑗𝑗 ] 𝑁𝑁−1 𝑘𝑘=0 = � � ℎ𝑘𝑘 𝑚𝑚−1 𝑗𝑗 =1 𝑥𝑥𝑘𝑘,𝑚𝑚−1−𝑗𝑗 2−𝑗𝑗 − 𝑁𝑁−1 𝑘𝑘=0 � ℎ𝑘𝑘 𝑥𝑥𝑘𝑘,𝑚𝑚−1 𝑁𝑁−1 𝑘𝑘=0
  • 3. FPGA Implementation of Fir Filter using Various Algorithms: A Retrospective 21 www.ijorcs.org = � � ℎ𝑘𝑘 𝑁𝑁−1 𝑘𝑘=0 𝑥𝑥𝑘𝑘,𝑚𝑚−1−𝑗𝑗 2−𝑗𝑗 − 𝑚𝑚−1 𝑗𝑗=1 � ℎ𝑘𝑘 𝑥𝑥𝑘𝑘,𝑚𝑚−1 𝑁𝑁−1 𝑘𝑘=0 …. (8) In Eq. (8) the calculation result of ∑ ℎ𝑘𝑘 𝑁𝑁−1 𝑘𝑘=0 𝑥𝑥𝑘𝑘,𝑚𝑚−1−𝑗𝑗 have 2𝑁𝑁 kinds of different results because of the value of 𝑥𝑥𝑘𝑘,𝑚𝑚−1−𝑗𝑗 is 0 or 1. All the possible results of ∑ ℎ𝑘𝑘 𝑁𝑁−1 𝑘𝑘=0 𝑥𝑥𝑘𝑘,𝑚𝑚−1−𝑗𝑗 are constructed in advance and stored into one LUT. The contents of LUT can be fetch by using 𝑥𝑥𝑘𝑘,𝑚𝑚−1−𝑗𝑗 obtain from shift register unit as a LUT address signal. So the value of 𝑦𝑦(𝑛𝑛) calculated by shifting and accumulating operation. Table 1: LUT contents of DA for 4-tap FIR filter Address signal (𝑏𝑏3 𝑏𝑏2 𝑏𝑏1 𝑏𝑏0) LUT content 0000 0 0001 ℎ0 0010 ℎ1 0011 ℎ1 + ℎ0 0100 ℎ2 0101 ℎ2 + ℎ0 0110 ℎ2 + ℎ1 0111 ℎ2 + ℎ1 + ℎ0 1000 ℎ3 1001 ℎ3 + ℎ0 1010 ℎ3 + ℎ1 1011 ℎ3 + ℎ1 + ℎ0 1100 ℎ3 + ℎ2 1101 ℎ3 + ℎ2 + ℎ0 1110 ℎ3 + ℎ2 + ℎ1 1111 ℎ3 + ℎ2 + ℎ1 + ℎ0 Hence, DA algorithm reduced the logic resources by converting complex MAC operation to a simple look-up table access and summations. The main disadvantage of DA algorithm is the size of LUT is large and also capacity of LUT will exponentially increase with the order of the filter. Bo Hong, et al [9] proposed a new algorithm which can reduced the capacity of LUT by half through the use of offset binary coding. The principle of DA-OBC algorithm is as follows [12]: 𝑥𝑥𝑘𝑘 can also be expressed as Eq. (9) 𝑥𝑥𝑘𝑘 = 1 2 [𝑥𝑥𝑘𝑘 − (−𝑥𝑥𝑘𝑘)] = 1 2 �−�𝑥𝑥𝑘𝑘,𝑚𝑚−1 − 𝑥𝑥𝑘𝑘,𝑚𝑚−1����������� + � [�𝑥𝑥𝑘𝑘,𝑚𝑚−1−𝑗𝑗 − 𝑥𝑥𝑘𝑘,𝑚𝑚−1−𝑗𝑗������������2−𝑗𝑗 𝑚𝑚−1 𝑗𝑗=1 − 2−(𝑚𝑚−1) ] …. (9) They define 𝑑𝑑𝑘𝑘,𝑗𝑗 as follows, the value of 𝑑𝑑𝑘𝑘,𝑗𝑗 is -1 or +1. 𝑑𝑑𝑘𝑘,𝑗𝑗 = � �𝑥𝑥𝑘𝑘,𝑗𝑗 − 𝑥𝑥𝑘𝑘,𝑗𝑗������, 𝑗𝑗 ≠ 𝑚𝑚 − 1 −�𝑥𝑥𝑘𝑘,𝑚𝑚−1 − 𝑥𝑥𝑘𝑘,𝑚𝑚−1����������, 𝑗𝑗 = 𝑚𝑚 − 1 …. (10) Eq. (9) can be simplified as Eq. (11). 𝑥𝑥𝑘𝑘 = 1 2 [� 𝑑𝑑𝑘𝑘,𝑚𝑚−1−𝑗𝑗 2−𝑗𝑗 − 2−(𝑚𝑚−1) ] 𝑚𝑚−1 𝑗𝑗=0 …. (11) Put Eq. (11) in to Eq. (6), and get = � �� 1 2 ℎ𝑘𝑘 𝑁𝑁−1 𝑘𝑘=0 𝑑𝑑𝑘𝑘,𝑚𝑚−1−𝑗𝑗 � 2−𝑗𝑗 − 𝑚𝑚−1 𝑗𝑗 =0 ( 1 2 � ℎ𝑗𝑗 𝑁𝑁−1 𝑗𝑗 =0 )2−𝑚𝑚−1 …. (12) For convenience, 𝐷𝐷𝑗𝑗 = � 1 2 ℎ𝑘𝑘 𝑁𝑁−1 𝑘𝑘=0 𝑑𝑑𝑘𝑘,𝑚𝑚−1−𝑗𝑗 , 𝐷𝐷𝑒𝑒𝑒𝑒 = − 1 2 � ℎ𝑗𝑗 𝑁𝑁−1 𝑗𝑗=0 …. (13) The value of 𝐷𝐷𝑗𝑗 have 2𝑁𝑁 kinds of different result which can be pre-computed and stored in a LUT and the LUT can be reduced by half [9] because the contents of LUT which are stored in addresses, are 1’s complement of each other is in same magnitude with the reverse sign. Table 2: LUT contents of DA-OBC for 4-tap FIR filter Address 𝑥𝑥0𝑗𝑗 = 0 𝑥𝑥1𝑗𝑗 𝑥𝑥2𝑗𝑗 𝑥𝑥3𝑗𝑗 LUT Contents Address 𝑥𝑥0𝑗𝑗 = 1 𝑥𝑥1𝑗𝑗 𝑥𝑥2𝑗𝑗 𝑥𝑥3𝑗𝑗 LUT Contents 000 − ℎ0 + ℎ1 + ℎ2 + ℎ 2 111 ℎ0 + ℎ1 + ℎ2 + ℎ3 2 001 − ℎ0 + ℎ1 + ℎ2 − ℎ 2 110 ℎ0 + ℎ1 + ℎ2 − ℎ3 2 010 − ℎ0 + ℎ1 − ℎ2 + ℎ 2 101 ℎ0 + ℎ1 − ℎ2 + ℎ3 2 011 − ℎ0 + ℎ1 − ℎ2 − ℎ 2 100 ℎ0 + ℎ1 − ℎ2 − ℎ3 2 100 − ℎ0 − ℎ1 + ℎ2 + ℎ 2 011 ℎ0 − ℎ1 + ℎ2 + ℎ3 2 101 − ℎ0 − ℎ1 + ℎ2 − ℎ 2 010 ℎ0 − ℎ1 + ℎ2 − ℎ3 2 110 − ℎ0 − ℎ1 − ℎ2 + ℎ 2 001 ℎ0 − ℎ1 − ℎ2 + ℎ3 2 111 − ℎ0 − ℎ1 − ℎ2 − ℎ 2 000 ℎ0 − ℎ1 − ℎ2 − ℎ3 2
  • 4. 22 Jinalkumari K. Dhobi, Dr. Y. B. Shukla, Dr. K.R.Bhatt www.ijorcs.org B. Common Subexpression Elimination (CSE) M. Thenmozhi, et al [10] proposed an algorithm which reduce the complexity is Common subexpression elimination (CSE). In this algorithm, the coefficient is based on canonical signed digit (CSD), which minimize the number of adder/subtractor used in each coefficient multiplier. The aim of CSE algorithm is to identify multiple event of identical bit patterns present in coefficients to remove the redundant multiplications which results in considerable reduction of adders as well as the complexity of FIR filter compared to the conventional implementation. This algorithm using binary representation of coefficients for the implementation of higher order FIR filter with less number of adder than CSD based CSE algorithm. The Binary CSE (BCSE) algorithm technique focuses on reducing redundant computations in coefficient multipliers by reusing the most common binary bit patterns (BCSs) presents in coefficients [13]. In n-bit binary number, the number of BCSs is2𝑛𝑛 − (𝑛𝑛 + 1). For example: A 3 bit binary representation can form four BCSs. [0 1 1] = 𝑥𝑥2 = 2−1 𝑥𝑥 + 2−2 𝑥𝑥 [1 0 1] = 𝑥𝑥3 = 𝑥𝑥 + 2−2 𝑥𝑥 [1 1 0] = 𝑥𝑥4 = 𝑥𝑥 + 2−1 𝑥𝑥 [1 1 1] = 𝑥𝑥5 = 𝑥𝑥 + 2−1 𝑥𝑥 + 2−2 𝑥𝑥 Where x is the input signal. The other BCSs such as [0 0 1], [0 1 0] and [1 1 0] do not required any adder for implementation because they have only one nonzero bit. From above four BCSs they conclude that 𝑥𝑥2 can be obtained by right shift operation without using any extra adders and also 𝑥𝑥5 can be obtained from 𝑥𝑥4 using an adder. C. Sum-of-power-of-two (SOPOT) Catalin Damian, et al [11] proposed a high speed and low area architecture for the implementation of FIR filter without any multiplication block. Figure 1: Direct FIR filter Figure 2. describe the Architecture unit of FIR filter with SOPOT type coefficient. In this algorithm the coefficient values are integer’s power-of-two or sum-of- power-of-two (SOPOT) with two or three terms and the multipliers can be replaced by shifters. In [15] and [16], FIR architectures presented based on theory of SOPOT of two terms. Because of error occurred in two terms the approximation of filter’s coefficient is extended the algorithm to SOPOT with three terms. Figure 2. Architecture unit of FIR filter with SOPOT type coefficient 𝐻𝐻[𝑗𝑗] = ∑ 𝑎𝑎𝑖𝑖,𝑗𝑗 . 2𝑏𝑏𝑖𝑖,𝑗𝑗2 𝑖𝑖=0 …. (13) Where 𝑎𝑎𝑖𝑖,𝑗𝑗 = {−1,1} and𝑏𝑏𝑖𝑖,𝑗𝑗 = {−𝑡𝑡, … ,0, … , 𝑢𝑢}; t and u determine the word length dynamic range of each filter coefficient. Larger the numbers t and u will gives the closer approximation to its original number. Computational algorithm: The Computational algorithm is shown in figure 3. The algorithm consist of two repetitive structure; one by i is to calculate a[i,j] and b[i,j] for the f[j] co-efficient. Figure 3: SOPOT 𝑎𝑎𝑖𝑖,𝑘𝑘 and 𝑏𝑏𝑖𝑖,𝑘𝑘 terms calculation algorithm
  • 5. FPGA Implementation of Fir Filter using Various Algorithms: A Retrospective 23 www.ijorcs.org Table 3: Example of Two and Three SOPOT Integer Two SOPOT Three SOPOT 13 23 + 22 =12 (8%) 23 + 22 + 20 =13 (0%) 25 24 + 23 =24 (4%) 24 + 23 + 20 =25 (0%) 67 26 + 21 =66 (2%) 26 + 21 + 20 =67 (0%) IV. COMPARISION OF ALGORITHMS BASED ON SURVEY DA algorithm reduces the complexity of FIR filter by converting MAC operation to serial of look up table. CSE algorithm reduces the adder by just finding the multiple event and SOPOT is converting coefficient into power of two format and eliminate the complete Multiplication block. Among the three algorithm DA is easy to implement at the cost of storage resources. V. CONCLUSION The realization structure of FIR filter consists of a MAC operation which is made up of multipliers and adders. DA algorithm, it completely eliminate the multiplication block by converting complicated MAC operation to look-up table access and summation at the cost of increasing storage resource where DA-OBC based architecture will decreases the LUT size by half and make operation speed faster. In CSE algorithm, It eliminate the multipliers and adders by identifying the multiple event that have an identical bit pattern and SOPOT algorithm diminished the complexity of working task by completely abolishing the multiplication block by only adders and shifter. So According to our survey, DA structure is easy to implement on FPGA because of pre-calculated results are already stored in LUTs and in FPGA it is easy to design but the main drawback of this algorithm is that, it uses an extra resources. Where the SOPOT is used for low power and low area application as it uses shift/add multiplexer based multiplier. The CSE algorithm is used to find and eliminate most common event among filter co-efficient which results in power and area saving by reducing multiplier with a small number of adders while implemented in FIR filters. VI. REFERENCES [1] Steven W. Smith, “The Scientist and Engineer’s Guide to Digital Signal Processing”. California Technical Publishing San Diego, California, Second Edition 1999. [2] Wang, Wei, Swamy, M.N.S., Ahmad, M.O., "Low power FIR filter FPGA implementation based on distributed arithmetic and residue number system" Circuits and Systems, 2001. MWSCAS 2001. Proceedings of the 44th IEEE 2001 Midwest Symposium on, vol.1, no., pp.102, 105 vol.1, 2001. doi: 10.1109/MWSCAS.2001.986125 [3] Saurabh Singh Rajput, Dr.S.S.Bhadauria, “Implementation of Fir Filter Using Efficient Window Function and Its Application in Filtering a Speech Signal” International Journal of Electronics and Mechanical Controls, Volume 1 Issue 1 November 2012. [4] Sen M. Kuo, Bob. H. Lee and Wenshun Tian, “Real- Time Digital Signal Processing Implementations and Applications” John Wiley & Sons, Ltd, England, Second Edition 2006. [5] Sonika Gupta, Aman Panghal, “Performance Analysis of FIR Filter Design by Using Rectangular, Hanning and Hamming Windows Method,” International Journal of Advanced Research in Computer Science and Software Engineering, Volume 2, Issue 6, June 2012. [6] Gao Jinding, Hou Yubao, Su Long, "Design and FPGA Implementation of Linear FIR Low-pass Filter Based on Kaiser Window Function", International Conference on Intelligent Computation Technology and Automation (ICICTA), vol.2, no., pp.496-498, 28-29 March 2011. doi: 10.1109/ICICTA.2011.408 [7] Croisier, D.J.Esteban, M.E.Levilion, V.Rizo, "Digital Filter for PCM Encoded Signals" U.S.Patent, No.3, 777, 130, 1973. [8] A. Peled and B. Liu, “A new hardware realization of digital filters” IEEE Transactions on A.S.S.P., vol. ASSP-22, pp. 456–462, December 1974. [9] Bo Hong, Haibin Yin, Xiumin Wang, Ying Xiao, "Implementation of FIR filter on FPGA using DA-OBC algorithm", 2nd International Conference on Information Science and Engineering (ICISE), vol., no., pp.3761,3764, 4-6 Dec. 2010. [10] M. Thenmozhi, N. Kirthika, "Analysis of Efficient Architectures for FIR filters using Common Subexpression Elimination Algorithm,” International Journal of Scientific & Technology Research, Volume 1, Issue 4, May 2012. [11] Damian, C. Lunca, E., "A low area FIR filter for FPGA implementation", 34th International Conference on Telecommunications and Signal Processing (TSP), pp.521-524, 18-20 Aug. 2011. doi: 10.1109/TSP. 2011.6043675 [12] Heejong Yoo, David V.anderson, "Hardware-efficient distributed arithmetic architecture for high-order digital filters" in proc. IEEE International conference on Acoustics, speech, and signal processing (ICASSP’05),vol.5, pp.125-128 2005. doi: 10.1109/ICASSP.2005.1416256 [13] Mahesh, R. Vinod, A.P., "A New Common Subexpression Elimination Algorithm for Realizing Low-Complexity Higher Order Digital Filters", IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems , vol.27, no.2, pp.217,229, Feb. 2008. doi: 10.1109/TCAD.2007.907064 [14] John G. Proakis., Dimitris G. Manokalis, “Digital Signal Processing Principle algorithms and
  • 6. 24 Jinalkumari K. Dhobi, Dr. Y. B. Shukla, Dr. K.R.Bhatt www.ijorcs.org applications” PHI publication, New Jersey, Third Edition 2004. [15] Catalin Damian, Cristian Zet, Cristian Fosalau, Mihai Cretu, “Real, Reactive and Apparent Power Computing Using FPGA and PWM Intermediary Conversion” XX IMEKO TC4, Florence, Italy, Sept. 2008. [16] K. S. Yeung, S. C. Chan, “Multiplier-Less Digital Filters Using Programmable Sum-Of-Power-Of-Two (Sopot) Coefficients”, IEEE International Conference on Field Programmable Technology, pp.78 – 84, Dec. 2002. doi: 10.1109/FPT.2002.1188667 How to cite Jinalkumari K. Dhobi, Dr. Y. B. Shukla, Dr. K.R.Bhatt, “FPGA Implementation of Fir Filter using Various Algorithms: A Retrospective”. International Journal of Research in Computer Science, 4 (2): pp. 19-24, March 2014. doi: 10.7815/ijorcs.42.2014.081