Professional Documents
Culture Documents
net/publication/303775161
A Modified Artificial Bee Colony Optimization based FIR filter Design with
Experimental Validation using FPGA
CITATIONS READS
15 257
3 authors:
Narendra Londhe
National Institute of Technology Raipur
111 PUBLICATIONS 804 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
Development of efficient Devanagari Script Input Based P300 Speller system for Brain-Computer Interface View project
All content following this page was uploaded by Narendra Londhe on 02 August 2016.
Research Article
array
Atul Kumar Dwivedi1, Subhojit Ghosh1 , Narendra D. Londhe1
1Department of Electrical Engineering, NIT Raipur, Raipur, India
E-mail: sghosh.ele@nitrr.ac.in
Abstract: Optimisation based design of finite impulse response (FIR) filters has been an active area of research for quite some
time. The various algorithms proposed for FIR filter design aim at meeting a set of desired specifications in the frequency
domain. Evolutionary algorithms have been found to be very effective for FIR filter design because of the non-linear, non-
differentiable and non-convex nature of the associated optimisation problem. The present work proposes two modified versions
of a recently developed evolutionary technique i.e. artificial bee colony (ABC) algorithm for design of FIR filters. The applicability
of the proposed approach has been evaluated by comparing its response with conventional reported filter design techniques.
The proposed variants of ABC are found to outperform other non-convex algorithms in achieving the desired specifications. In
addition to the simulation results, the designed filters have been implemented in hardware using Xilinx-xc7vx330t-3ffg1157
(Virtex-7) field programmable gate array. The hardware implementation allows validation of the proposed techniques for
practical filtering applications by considering real time operation parameters.
Fig. 2 Example shift and add network used for implementation ∑� ���CMA + ∑ � ��SA
�
�−1
5 Results and discussion
�= ∑ 2−� �� − �0 (25)
�=1 To evaluate the performance of the proposed algorithms (ABC
MOD-I and ABC MOD-II), for filter design applications, a
where comparison has been carried out by considering two examples. In
the first example, the designed filters have been compared with
�−1 heuristic EAs. In the second example the proposed design method
�� = ∑ ℎ � [�d � ]� (26) has been compared with the non-convex deterministic optimisation
�=0
methods. Finally the filters are implemented in hardware using
FPGA and the hardware complexity in terms of device utilisation
Since all the elements of the N point binary sequence [Xd(k)] are has been compared with other techniques.
evaluated for for (0 ≤ k ≤ N − 1), all the values of Kb are pre-
computed and stored in the look up table (LUT), they can be read Example 1: A low pass FIR type-I filter is considered, with the
out directly using the bit sequence [xd(k)]b. Based on the discussion following specifications, fpass = 450 Hz, fstop = 550 Hz, fsampling =
above, the architecture used for filter implementation is shown in 2000 Hz, filter order = 20, PBR (δp) = 0.1 and stop band ripple
Figs. 1 and 2. (SBR) (δs) = 0.01. For selecting the optimisation control
parameters, a number of pilot runs with different settings were
considered in [15–21].
From Table 3 it can be observed that ABC MOD-II is able to
Table 1 Optimised coefficients of the FIR LP filter of 20 achieve a performance comparable with PSO with much reduced
order order i.e. 20 instead of 30. For the same filter order i.e. 20,
h(n) ABC ABC MOD-I ABC MOD-II maximum SBA is observed in the proposed ABC MOD-II,
h(1) = h(21) −0.01921411 0.00933007 0.02888959 followed by CSO and ABC MOD-I. Closeness to the desired PBR
h(2) = h(20) −0.00444831 0.02487247 0.04744011 has been observed to be maximum in ABC MOD-I followed by
ABC MOD-II and ABC. For PBR, ABC and its variants are found
h(3) = h(19) 0.02374065 −0.00434513 0.00586561
to be most effective followed by SOA. ABC MOD-II outperforms
h(4) = h(20) 0.02430839 −0.04021879 −0.0357454 all other reported techniques in maximum SBA and maximum SBR
h(5) = h(17) −0.02397951 −0.00365455 0.00135159 whereas a similar TW is observed for ABC MOD-II and CSO.
h(6) = h(16) −0.04191195 0.06091880 0.06145737 To further compare the proposed techniques with other known
h(7) = h(15) 0.03489913 0.01041345 0.00390754 non-convex global OAs, following example has been considered
h(8) = h(14) 0.11170801 −0.09949873 −0.10000000 for experimentation as in [8–11].
h(9) = h(13) −0.02930880 −0.00560992 0.00291659
Example 2: A filter with PBR = 0.1, SBA = −40 dB, length 28 with
h(10) = h(12) −0.31026400 0.31097220 0.31869221
0.128 and 0.2048 pass band and stop band frequencies has been
h(11) −0.45779553 0.50001853 0.50482147 considered as in [11]. For selecting the optimisation control
Table 3 Comparison of LPF design using proposed algorithm with other state of the art EAs
Model Parameters
Order Max SBA, dB Max PBR (normalised) Max SBR (normalised) TW (normalised)
PSO [15] 30 39a 0.1 0.01 0.12a
DE [18] 20 NRb 0.15a 0.039a 0.18a
SOA [19] 20 32.30 0.138 0.0243 0.0896
Hybrid DE and PSO [16] 20 24 0.257 0.259 0.07a
CSO [21] 20 33.99 0.164 0.0198 0.0946
ABC 20 26.81 0.08 0.04 0.1504
ABC-MOD-I 20 32.83 0.09 0.023 0.1404
ABC MOD-II 20 34.96 0.12 0.017 0.1108
Abbreviations: aXYZ, approximate value, bNR, not reported.
Table 4 Comparison of LPF design using ABC, ABC MOD- For experimental validation of the proposed modified versions of
I, ABC MOD-II algorithm with other reported non-convex ABC algorithm, designed filters are implemented using
global OAs in terms of pass band ripple and stop band xc7vx330t-3ffg1157 FPGA. Implementation in FPGA allows
attenuation analysing the effects of quantisation error, parasitic effects and
Technique PBR, norm SBA, dB inherent delays on the filter characteristics, which were not
Remez exchange [8] 0.17 −30.3 considered in simulations. The experimental setup used is shown in
Fig. 5. Xilinx 14.7 IDE is used for synthesis, analysis and
MILP [9] 0.16 −33.8
implementation purpose.
PTA [10] 0.17 −30.7 Filter coefficients are represented using a full precision, fixed
0.16 −34.4 point arithmetic with integer length of 16 bit and fractions of 16
0.13 −31.3 bit. The low pass characteristics of the designed filters are verified
0.10 −33.5 by generating a set of sinusoidal signals with fixed amplitude and
0.13 −34.8 variable frequency and applying it to the FPGA board. The time
0.11 −35.4 domain signal is observed in the oscilloscope (Fig. 5), while the
frequency response of designed FIR filters is observed using Xilinx
FFM [11] 0.17 −31.2
systems generator JTAG interface with Simulink. The
0.16 −34.4 corresponding frequency responses obtained with ABC, ABC-
0.13 −31.6 MOD-I and ABC MOD-II is reported in Fig. 6.
0.10 −34.1 As compared with the simulated frequency response, an
0.13 −36.9 increase in the ripple content and TW is observed in the hardware
0.11 −35.4 results, for all the three cases.
MFFM [7] 0.11 −39.64
The architecture used for FPGA implementation is shown in
Figs. 1 and 2. The device resources utilised in the FPGA during
pattern search 0.14 −30.32
implementation of proposed algorithms are outlined and compared
proposed ABC 0.24 −33.65 with the traditional FPGA implementation techniques. For
proposed ABC MOD-I 0.10 −37.43 comparison a set of benchmark LPF specifications are described in
proposed ABC MOD-II 0.063 −39.9 [25] has been considered. The comparison has been carried out in
Table 5 CT (seconds) required to achieve desired stopping criterion with 10% tolerance limit
Stopping criterion 3 2 1 0.5 0.25
PSO min 0.0900 0.0991 1.0371 9.0123 26.3420
max 0.1227 0.1343 3.1459 3.6556 26.9249
mean 0.1003 0.1121 3.1154 5.4990 26.6724
SD 0.0119 0.0146 0.1171 0.2601 0.2164
SOA min 0.8664 1.7811 2.2966 14.1301 15.5738
max 2.9807 2.3867 4.2522 18.7462 22.6951
mean 1.5106 1.9429 3.9725 16.2180 28.7501
SD 0.7515 0.2379 0.3437 2.9525 3.1619
CSO min 0.9474 1.0223 18.5379 40.5500 69.1223
max 1.8963 5.4477 49.3771 59.6938 71.2235
mean 0.9971 3.4863 37.2842 52.4766 69.9909
SD 0.2592 0.8108 10.0231 7.6038 0.7157
Remez min 0.1212 0.2465 0.4351 0.8654 1.0101
max 0.3981 0.4581 0.8795 1.4323 1.4021
mean 0.2739 0.4365 0.7346 1.0634 1.2798
SD 0.0947 0.1527 0.1541 0.3891 0.1032
MILP min 0.2132 0.6040 0.8756 1.9345 3.0342
max 0.6431 0.9453 1.2865 3.2399 4.6534
mean 0.4325 0.8395 1.0825 2.3792 4.2871
SD 0.1523 0.1377 0.1557 0.4807 1.3943
FFM min 0.1002 0.1001 0.9991 2.2201 6.2340
max 0.4965 0.8901 2.2309 4.3233 8.2130
mean 0.2750 0.6417 1.4201 2.8460 7.7942
SD 0.1594 0.2948 0.4571 0.8378 1.2814
pattern search min 0.0113 1.0176 5.0217 10.1438 20.3210
max 0.0207 3.0158 8.0171 17.4387 34.5423
mean 0.0128 1.6152 6.6185 14.7125 27.2062
SD 0.0412 1.0174 1.0180 2.5248 4.8344
ABC min 0.3071 5.6825 6.0441 12.4025 16.4300
max 4.6520 6.6025 6.6025 24.8261 34.4048
mean 2.5243 6.0502 6.0502 17.4168 24.6868
SD 1.6277 0.3436 0.3436 4.3206 5.7960
ABC MOD-I min 0.5829 1.0710 4.7513 9.3682 14.4974
max 0.8474 1.6657 6.2742 11.8603 16.6992
mean 0.6435 1.2612 4.8095 10.2696 15.5165
SD 0.1211 0.2157 0.9361 0.9135 0.7699
ABC MOD-II min 0.5829 1.1174 5.8271 9.5277 15.1466
max 1.0342 2.2954 11.7513 19.9230 23.1423
mean 0.7609 1.8612 7.8095 13.4428 18.9991
SD 0.1716 0.4269 2.4573 3.7020 3.2625
terms of EWL, MAL, NA, NFA, power and area requirement proposed techniques for real time filtering applications has been
(Table 6). validated by implementing the corresponding filters using FPGA.
It can be concluded from Table 6 that the proposed architecture A reduction in the hardware complexity of FPGA implementation
using shift and add network (Figs. 1 and 2) require less hardware has been observed as compared with the reported techniques for
complexity as well as less power consumption as compared with FIR filter implementation. The comparison of the hardware results
the conventional implementation approaches. Table 7 reports the with simulation reveals that real time implementation leads to
comparison of hardware utilisation of the proposed work with other increment in ripple in both pass band and stop band. Future work in
reported works in the light of the results reported in [33]. this domain would be concentrated on filter design by
Finally Xilinx power estimator has been used for power incorporating the parasitic effects and real time operation
analysis of the design with increase in frequency. Dynamic power parameters of FPGA in the objective function.
consumption using proposed architecture is shown in Fig. 7. A
uniform increase in the dynamic power is observed with increase in 7 Acknowledgment
the operating frequency.
The authors thank Prof R.M. Patrikar, Professor VNIT Nagpur,
India for providing the necessary experimental support.
6 Conclusion
In this paper, two modified variants (ABC MOD-I and ABC MOD-
II) of the conventional ABC algorithm have been proposed for
designing FIR filters. The filter design task of attaining a set of pre-
defined frequency domain specifications has been formulated as an
optimisation problem, and solved using the proposed techniques.
The results obtained have been compared with reported EAs and
deterministic non-convex based optimisation methods. ABC MOD-
II is found to outperform all the other techniques in terms of stop
band attenuation, closeness to the desired SBR and TW. Similarly
ABC MOD-I achieves the least deviation from the desired pass
band ripple. As far as computational time is concerned, the
proposed technique though faster than other heuristic techniques, is
slower than deterministic methods. The applicability of the
Table 7 Comparison of hardware utilisation and performance of the proposed method with other reported methods
Method Taps Bits Device Slices Flip-flops Four input Max_delay, ns F_max, MHz
LUTs
serial DA FIR [28] 16 16 Spartan 3E 180 171 263 19.2385 –
parallel DA FIR [28] 16 16 Spartan 3E 243 192 407 15.725 –
1-BAAT(bit-at-a-time) pipelined [29] 8 64 Spartan 3E 300 500 290 – 120
2-BAAT pipelined [29] 8 64 Spartan 3E 500 1000 460 – 100
Serial multiplier and serial adder [30] 8 8 Xc4vf100 103 97 162 – 225
Shift/add_form1 [30] 8 8 Xc4vf100 101 48 119 – 79.171
MBF(multiplexer based reconfigurable FIR filter) 6 – Virtex 5349 – 9669 – –
[31]
DPR (dynamic partial reconfigurable FIR filter) 6 – Virtex 4733 – 8427 – –
[31]
add shift method [32] 10 12 Virtex-II 474 916 406 – –
PDA method [32] 10 12 Virtex-II 781 1480 1103 – –
modified retiming serial multiplier [33] 8 8 Xc4vf100 287 196 379 2.713 302.253
proposed method 11 16 Xc7vx330t-3ffg1157 190 108 278 4.04 347.551
[2] Psarakis, E.Z.: ‘A weighted L2-based method for the design of arbitrary one-
dimensional FIR digital filters’, Signal Process. J., 2006, 6, (86), pp. 937–950
[3] Wang, X.-H., He, w.G., Li, T.-Z.: ‘Neural network algorithm for designing
FIR filters utilizing frequency-response masking technique’, J. Comput. Sci.
Technol., 2009, 24, (3), pp. 463–471
[4] Pei, S.-C., Shyu, J.-jy.: ‘Complex eigen filter design of arbitrary coefficient
FIR digital filters’, IEEE Trans. Circuits Syst. II, 1993, 40, (1), pp. 32–40
[5] Wu, S.-P., Boyd, S., Vandenberghe, L.: ‘FIR filter design via spectral
factorization and convex optimization’, Appl. Comput. Control Signals
Circuits, 1999, 40, (1), pp. 215–245
[6] Ho, C.F., Ling, B.K., Benmesbah, L., et al.: ‘Two-channel linear phase FIR
QMF bank minimax design via global nonconvex optimization
programming’, IEEE Trans. Signal Process., 2010, 58, (8), pp. 4436–4441
[7] Ling, W., Ho, C., Teo, K., et al.: ‘Optimal design of cosine modulated non
uniform linear phase FIR filter bank via both stretching and shifting
frequency response of single prototype filter’, IEEE Trans. Signal Process.,
2014, 62, (10), pp. 2517–2530
[8] Ait-Boudaoud, D., Cemes, R.: ‘Modified sensitivity criterion for the design of
Fig. 7 Variation of dynamic power consumption with operating frequency powers-of-two FIR filters’, IEEE Electron. Lett., 1993, 29, (16), pp. 1467–
1469
8 References [9] Li, D., Song, J., Lim, Y.C.: ‘A polynomial-time algorithm for designing
digital filters with power-of-two coefficients’. IEEE Int. Symp. on Circuits
[1] Jaumard, B., Minoux, M., Siohan, P.: ‘Finite precision design of FIR digital and Systems, ISCAS'93, May 1993, pp. 84–87
filters using a convexity property’, IEEE Trans. Audio Electroacoust., 1988, [10] Çiloğlu, T.: ‘Design of FIR filters for low implementation complexity’, IEEE
36, (3), pp. 407–411 Electron. Lett., 1999, 35, (7), pp. 529–530