Chapter 4 Our Proposed Method
4.6 Lower Bound Computation
In order to tabulate Table I for illustrating the benefit of right-shifters, we need to compute the lower bound of the number of adders for the filter design under the specification constraint. The method is almost the same as our method excluding the ripple condition and the cost computation by Hcub, because the ripple condition possibly leads to the loss of the real lower bound. Finally, the BEST_LB which is introduced in Section 4.5.5 is the lower bound of the number of adders for the filter design under the specification constraint. Without the ripple condition, the runtime will significantly increase, and this is the reason that the analysis restricts the low-tap filters.
29
Chapter 5 Experimental Results
In this chapter, three case studies are given to demonstrate the improvement of our algorithm. In Case Study I, the experimental results show the performances with different L.
In Case Study II, eight filter cases in [6] are designed by using our algorithm, and the results are compared with the reported results of the best published work [6]. In Case Study III, we implement the algorithm in [6] and generate 8 filter specifications with different taps. The 8 filter cases are designed by using our algorithm, and the results are compared with the results by the algorithm in [6]. In this work, the algorithm is developed in C++/Linux environment, and the platform is built in Intel Xeon at 2.53GHz with 50GB of main memory.
Table II illustrates 8 filter specifications which are from [6]. In Table II, ωp, ωs, δp, δs
are the end of the pass-band, the beginning of the stop-band, the maximum allowable pass-band ripple and the maximum allowable stop-band ripple, respectively.
Table II The specification of filter cases from [6]
Filter Tap ωp ωs δp δs
X1 15 0.2π 0.8π 0.0001 0.0001
G1 16 0.2π 0.5π 0.001 0.001
S1 24 0.3π 0.5π 0.0157 0.0066
Y1 30 0.3π 0.5π 0.00316 0.00316
Y2 38 0.3π 0.5π 0.001 0.001
A1 59 0.125π 0.225π 0.01 0.001
S2 60 0.042π 0.14π 0.012 0.001
L2 63 0.2π 0.28π 0.028 0.001
30
5.1 Case Study I
In this case study, we compare the results with different L. Y2 and S2 are the test cases, and their specifications are listed in Table II. In Table III, the FLB is the lower bound of the number of adders for the filter design, and the Total #adders is the total number of adders for the filter design by our algorithm. The experimental results show that the large L can reduce the total number of adders and the runtime do not increase with L. That reason is that the larger L means the larger search space, so it is more possible to find a better solution earlier.
Therefore, the search can be bounded earlier, and the runtime can be reduced.
From this case study, we can know the larger L is better, so we set L as same as the wordlength of the coefficients in the following case studies.
Table III The analysis for L in Y2 and S2
Y2 S2
L FLB Total #adders Runtime L Total #adders Runtime
1 39 39 4m49s 1 74 18m27s
2 38 39 5m30s 2 74 22m50s
3 37 38 4m35s 3 74 27m34s
4 37 38 4m47s 4 73 27m56s
5 37 38 4m53s 5 73 28m21s
6 37 38 4m54s 6 73 29m30s
7 36 38 4m53s 7 72 26m31s
8 36 38 4m54s 8 72 26m14s
9 36 38 4m53s 9 72 26m36s
10 36 38 4m54s 10 72 26m40s
31
5.2 Case Study II
In this case study, there are 8 filters from [6], and their specifications are listed in Table II. In [6], the experimental results show that their results are better than the best published ones, so ours work is only compared with them. The design results of our algorithm and [6]
are listed in Table IV for comparison. Tap is the number of coefficients, and WL is the wordlength of the coefficients excluding the sign bit. MBA is the number of multiplier block adders, SA is the number of structural adders, and Total is the total number of adders. In Table IV, the performances of ours and [6] are similar in the lower-tap filters. However, in the higher-tap filters, the performances of ours are better, and the runtime of ours are shorter.
Table IV The results and comparisons for cases from [6]
Filter Tap WL
32
5.3 Case Study III
In order to compare the results of the filters with different taps, we generate 8 filters, and the taps of these filters are from 39 to 89. Table V illustrates the 8 specifications of the filters.
Similarly, p, s, p and s are the end of the pass-band, the beginning of the stop-band, the maximum allowable pass-band ripple and the maximum allowable stop-band ripple, respectively. The design results of our algorithm and [6] are listed in Table VI for comparison.
In this case study, WL is always set as 10. In Table VI, the Tap is the minimal tap that a feasible solution can be found in the corresponding algorithm. The Improvement is derived by ( [6] - Ours ) / ours. The experimental results show that our improvement can be up to 30.6% and on average 13.8% in the number of adders. Note that the improvements are lower in the higher-tap filters. The reason is that there are more adders in SAs which dominate the total number of adders, and the number of adders in SAs can only be reduced by selecting the ZCCs.
Table V The specification of filter cases
Filter p s p s
T1 0.24π 0.43π 0.001 0.001
T2 0.32π 0.51π 0.001 0.001
T3 0.18π 0.3π 0.01 0.001
T4 0.24π 0.38π 0.0012 0.001
T5 0.28π 0.38π 0.01 0.001
T6 0.24π 0.34π 0.003 0.001
T7 0.08π 0.18π 0.001 0.0005
T8 0.04π 0.1π 0.02 0.001
33
Table VI The results and comparisons for the cases
Filter incomplete search is reported. It can obviously illustrate that the runtime of [6] significantly increases with the tap of the filter but ours do not.
Fig. 9 Runtime for the filters with different tap 0
34
5.4 Design Example
In Table VII and Table VIII, we list the results of L2 and T5 by applying our algorithm.
These results include the coefficients and the implementations of coefficients. First, we use adders, subtractors and left-shifters to design the basic subexpressions. Then, we implement the coefficients by left-shifting or right-shifting the basic subexpressions. Note that, we only construct the absolute value of coefficients in the MCM block. The negative coefficients are implemented by replacing the corresponding SAs by subtractors, so it is unnecessary to use
35
36
Chapter 6 Conclusions & Future Works
In this thesis, a design method of the FIR filter is proposed to minimize the total number of adders on the architecture of the FIR filter. This method is based on the B&B search and finds a set of coefficients which requires fewer adders to implement. Besides, this method utilizes the right-shifter in the MCM design. The utilizing of the right-shifter expands the search space to find a better solution. We also propose a heuristic pruning condition to make the solution search in larger design space. The heuristic pruning condition is based on the ripple of the frequency response and it can be used to effectively reduce the runtime and still maintain the better performance.
Compared to the best published work [6], our method can reduce up to 30.6% and on average 13.8% in the number of adders. Besides, the runtime of our method is not significantly increased with the tap of the filter as that of method proposed in [6].
In this thesis, we explained that the right-shifter may cause the truncation error. In the future, we can consider the truncation error from the right-shifter onto the quantization problem of the FIR filter design.
37
References
[1] Y. Voronenko and M. Püschel, “Multiplierless multiple constant multiplication,” in ACM Transactions on Algorithms, 2007, vol. 3, pp. 11.
[2] A. G. Dempster and M. D. Macleod, “Use of minimum-adder multiplier blocks in FIR digital filters,” in IEEE Transactions on Circuits and Systems I, 1995, vol. 42, pp.
569-577.
[3] A. G. Dempster and M. D. Macleod, “Using all signed-digit representations to design single integer multipliers using subexpression elimination,” in International Symposium on Circuits and Systems, 2004, vol. 3, pp. III-165-8.
[4] J. Yli-Kaakinen and T. Saramaki, “A systematic algorithm for the design of multiplierless FIR filters,” in International Symposium on Circuits and Systems, 2001, vol. 2, pp.
185-188.
[5] O. Gustafsson and L. Wanhammar, “Design of linear-phase FIR filters combining subexpression sharing with MILP,” in Midwest Symposium on Circuits and Systems, 2002, vol. 3, pp. III-9-III-12.
[6] S. Dong and Y. Y. Jun, “Design of linear phase FIR filters with high probability of achieving minimum number of adders,” in IEEE Transactions on Circuits and Systems I, 2011, vol. 58, pp. 126-136.
[7] Y. C. Lim, “Design of discrete-coefficient-value linear phase FIR filters with optimum normalized peak ripple magnitude,” in IEEE Transactions on Circuits and Systems, 1990, vol. 37, pp. 1480-1486.
[8] O. Gustafsson, “Lower bounds for constant multiplication problems,” in IEEE Transactions on Circuits and Systems II, 2007, vol. 54, pp. 974-978.
38
[9] X. Fei, C. C. Hong, and J. C. Chuen, “Design of low-complexity FIR filters based on signed-powers-of-two coefficients with reusable common subexpressions,” in IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2007, vol. 26, pp. 1898-1907.
[10] Y. Y. Jun and L. Y. Ching, “Design of linear phase FIR filters in subexpression space using mixed integer linear programming,” in IEEE Transactions on Circuits and Systems I, 2007, vol. 54, pp. 2330-2338.
[11] Y. Yu and Y. Lim, “Optimization of linear phase FIR filters in dynamically expanding subexpression space,” in Circuits, Systems, and Signal Processing, 2010, vol. 29, pp.
65-80.
[12] M. Aktan, A. Yurdakul, and G. Dundar, “An algorithm for the design of low-power hardware-efficient FIR filters,” in IEEE Transactions on Circuits and Systems I, 2008, vol.55, pp. 1536-1545.
[13] R. Guo, L. S. DeBrunner, and K. Johansson, “Truncated MCM using pattern modification for FIR filter implementation,” in International Symposium on Circuits and Systems, 2010, pp. 3881-3884.
[14] A. V. Oppenheim, R. W. Schafer, and J. R. Buck, “Discrete-time signal processing,” 2 ed. New Jersey: Prentice-Hall, 1989, pp. 297-300.
[15] Gurobi Optimization, Inc. “Gurobi Optimizer.” Internet: http://www.gurobi.com, 2012.