2nd Mediterranean Conference on Embedded Computing
MECO - 2013
Budva, Montenegro
Efficient Recursive Implementation of Multiplierless FIR Filters Miroslav Lutovac
Vlastimir Pavloviü
Maja Lutovac
University Singidunum, Faculty of Informatics and Computing Belgrade, Serbia
[email protected]
University of Niš Faculty of Electronic Engineering, Niš, Serbia
[email protected]
Robot controllers LOLA Institute Belgrade, Serbia
[email protected]
Abstract—The efficient implementation of selective multiplierless digital FIR filter is very desired solution for low-power consumption applications. Filter requirements such as sharp transition and large stop-band attenuation require very high filter order and usually large power consumption. The solution of this problem can be to use predefined hardware filter structures with small number of operations per input sample in spite of the very high filter order. In this paper we provide a systematic approach for solving the problem using computer algebra system (CAS). The methodology is based on (1) sketching the filter structure that is known to have excellent properties appropriate as embedded solution, (2) automated building the knowledge into CAS in a form of the schematic description, (3) automated derivation of filter properties such as transfer functions or implementation codes, (4) defining a strategy for combining intermediate results, and (5) plotting the frequency responses in order to verify the final solution. Keywords- CIC filters; FIR filters; filter structures; recursive filters; symbolic processing
I.
INTRODUCTION
The efficiency of the implementation of digital filter on a programmable or dedicated hardware can be considerable improved by using the same hardware more than ones during the sampling period [1]. A small number of operations per input sample are probably the most important due to the fact that power consumptions are mainly results of the transition in logic circuits from one state to another. Also the number of multiplications should be reduced to the minimal number because this is the most expensive component in the hardware implementation [2]. A large number of methods for improving the efficiency of digital filters have been presented in many papers [1-3]. One of the most popular techniques is to use the lower order filter sections in cascade connection in order to implement a higher order filter. The main drawback of cascaded connection can be very large pass-band ripple. Different techniques can be used for reduction of the increased pass-band ripple [1].
The basic idea of this paper is to start the filter design with a filter structure that is simple for implementation and with a small number of operations per input sample. In order to retain very high stop-band attenuation, the same circuitry can be used several times. Instead of reducing the pass-band ripple as in [3], the stop-band attenuation can be significantly increased using the different number of delays in the known digital filter structure, as it is presented in this paper. This approach can be very attractive for multirate processing [4]. This paper is divided in 3 sections. In the second section, the principal structure of CIC (Cascaded Integrator Comb) filter is reviewed as the basic structure. It is also proposed the filter structure that is suitable for efficient implementation. The third section presents analysis of one structure using computer algebra system and symbolic processing. In section four a several examples are presented including procedures for obtaining efficient solutions. The last section is a conclusion. II.
A. CIC filters The cascaded integrator comb filter is the most frequently used filter of its class, due to very low complexity [5]. It is implemented by cascading the integrator and comb filter. Thus, CIC implementation does not require usage of multipliers. The efficient implementation of the CIC filter requires only two adders and two delay elements. On the other hand, CIC filter has poor frequency characteristics. The selectivity can be improved using the multistage modified comb filters [5]. The application of comb-based digital filters has become very intense in multirate systems, because of their low complexity and low power consumption, as well as the possibility of working at high sampling rates [4]. Filter sharpening can be used so that the implementation is a good compromise between computational complexity of the resulting filter and its frequency characteristics. Although this type of filter is finite impulse responses (FIR) filter, that is a filter whose impulse response is of finite duration, it can be implemented using recursive structures.
This work was supported by the Ministry of Education and Science of Serbia under Grant TR-32023.
128
FILTER STRUCTURE
2nd Mediterranean Conference on Embedded Computing
MECO - 2013
A recursive filter is a type of filter which uses at least one of its outputs as an input to the adder within the digital filter. This feedback typically results in an unending impulse response (commonly referred to as infinite impulse response IIR), but in this case the recursive implementation of FIR filter does not have infinite impulse response. This property of CIC filters can be used as a basis for another type of similar filter structure in such a way that one input of the filter adder is connected to the filter output, but still having finite impulse response. B. Implementation requirements and filter structure The implementation requirements are to design digital filters that have only adders and delay elements, without using multipliers. Although in some applications a requirement is to have the minimal number of delay elements, for this type of filter the number of delay elements is not critical. The number of delay elements is not restricted, but the number of readings from memory and writings to memory should be minimal. Also, the reshaping of the memory is also not allowed due to the requirement of the minimal power consumptions. As initial filter structure we can use structures presented in [6-8], as shown in Figure 1.
Budva, Montenegro
memory address is changed for every new clock. The new value is written into the last position in memory while the previous value is reading. This way, for each new sample three values are stored into memory, while three values are transferred to the adders’ inputs. The total number of operations is only four additions, in spite of formally very large filter order, that is equal to the sum of all delays, d+c+b. III.
FILTER ANALYSIS AND DESIGN
The basic idea of this approach is to use CIC type of filters. That means, the impulse response should be of finite duration. Therefore, the values of delays should be determined in such a way to provide canceling the transfer function poles. If not, the filter will be not stable since poles are on the unit circle in the z-plane. The simplest solution is to specify that all delay lengths should be even, for example b = 2 k, c = 2 p, d = 2 q. The further simplification can be to set that all delays have to be from the range ±2. One possible solution is 2k = 2n, 2p = 2n-2, 2q = 2n+2. The transfer function can be computed using computer algebra system [9 – 11]. There are many algorithms for optimizations that can be successfully optimized using knowledge based systems [12]. The proposed methodology starts by sketching the filter structure from published papers such as [7]. Using software such as [9, 10] the schematic description is saved as knowledge into CAS (Computer Algebra System) in a form of the schematic description. Using functions of CAS, the transfer functions or implementation codes can be derived from the schematic description [9, 10]. Using the CAS [9], the properties of the proposed solution can be derived, such as the normalized constant. The normalized constant is determined to be 1/4n for the unity value of the magnitude response at f=0. In order to prove that this recursive structure have finite impulse response, the transfer function is derived for n {2,3,4,5,6,7,8,9} . Notice that the filter order is 6n, that is from 12 to 54. For n=2, the filter transfer function of the corresponding non-recursive implementation is as follows:
Figure 1. Initial structure for efficient filtering.
Figure 1 shows that the structure has three memory elements of length d, c, and b. The fourth memory is a double delay. This filter structure will be used in the next section as basic building block. The memory elements are organized as circular memory. Since the length of the memory is known, only pointer to the
129
For n=3, the filter transfer function of the corresponding non-recursive implementation will require multiplier 1/12:
For n=4, the normalized constant can be simple implemented as binary shift:
2nd Mediterranean Conference on Embedded Computing
MECO - 2013
Budva, Montenegro IV.
For n=5, the filter transfer function of the corresponding non-recursive implementation will have multiplier 1/20:
FILTER EXAMPLES
In Figure 2, the attenuation of three filters for three different filter orders 12 (n=2), 30 (n=5), and 42 (n=7) are presented. The transitions are narrower for the highest filter order. Unfortunately, the stop-band attenuations of all filters are not very large, between 10 and 20 dB.
For n=6, the require multiplier will be 1/24:
For n=7, the multiplier value is 1/28: Figure 2. Attenuation for n=2 (dotted), n=5 (dashed), and n=7 (solid line).
For n=8, the normalized constant can be simple implemented as binary shift:
For n=9, the require multiplier (1/36) will not be suitable for non-recursive implementation:
Figure 3. Attenuation for three cascaded filter for n=8.
One possible solution to increase the stop-band attenuation is the cascaded connection of the same filter, such as three cascade 48th order filters. The overall filter order is 144 (n=8), as shown in Figure 3. In spite of very large filter order, the stop-band attenuation is still not large, approximately 40 dB. The main benefit of using CAS is the automated derivation of the transfer functions of the proposed recursive filter structure. This way we can prove the properties such as the finite impulse response of recursive structure and derivation of the normalized constant for unit magnitude response at f=0. Those filters are not attractive for implementation because they have poor stopband attenuation. In the next section we will define a strategy for combining intermediate results in order to increase stopband attenuation.
130
On the other hand, we can identify that transfer function zeros are on different frequencies for different n. Instead of the cascade connection of identical filter sections, such as in [1] and [7], the cascade connection of digital filters with different n can be used. We can define new design strategy. Let us start with the lowest filter orders (notice that n {2,3,4,5,6,7,8,9} and the filter order is 6n). In Figure 4, another cascaded combination is presented with filter orders 12 (n=2), 30 (n=5), and 36 (n=6). The overall filter order is 78, almost half of that presented in Figure 3, but the stop-band attenuation is approximately 60 dB.
2nd Mediterranean Conference on Embedded Computing
MECO - 2013
Budva, Montenegro
distortion as in the case of IIR filters (there is quantization error at the multiplier output [2]). The benefit for lower sampling rate can be the fact that only four adders can be used and pipeline technique can be also effectively implemented. The filter coefficients are symmetric, that is, the group delay is constant. The filter type is very close to averaging filters so that they can be used as efficient low-pass filters. CONCLUSION The computer algebra system is used for discovering of filter properties from known filter structure. The number of delay elements is assumed in symbolic form, and the numeric values are used for final examples, by setting single symbolic parameter to different numeric values. The proposed filter is especially efficient for hardware implementations where samples can be stored in a larger memory. The equivalent number of operations per input sample is approximately equal to the fourth order FIR filter. Constant group delay and very high attenuation in the stopband can be easily obtained.
Figure 4. Attenuation for cascade connection of three filters for n=2, n=4, and n=6.
Figure 5 illustrates cascaded combination of five filters filter with orders 12 (n=2), 18 (n=3), 24 (n=4), 30 (n=5), and 36 (n=6). The overall filter order is 120, and the stop-band attenuation is larger than 100 dB
REFERENCES [1]
Figure 5. Attenuation for cascade connection of five filters for n=2, n=3, n=4, n=5, and n=6.
For all basic filters, the filter structure is the same, assuming that only address pointers are different. This means that signal is not passing through all delay elements in the memory, but only address pointer is changed for new input sample. In contrast to the very high filter order (in examples 78 and 120), all filters have the same number of operations per input sample that is equivalent to the fourth-order filter (equivalent to 4 delay elements and 4 adders). Power consumption is also almost equivalent to the fourth order filter because there are no changes in the memory during processing, except for one write instruction and address computation. The most important benefit is that this type of filter has no any multiplication, and there are no problems with nonlinear
V. M. Pouþki, A. Žemva, M. D. Lutovac, T. Karþnik, “Elliptic IIR filter sharpening implemented on FPGA,” Digital Signal Processing vol. 20, no. 1, pp. 13-22, 2010. [2] M. D. Lutovac, D. V.Tošiü, and B. L. Evans, Filter Design for Signal Processing Using MATLAB and Mathematica, New Jersey, USA, Prentice Hall, 2000. [3] M. Lutovac, V. D. Pavloviü, “Efficient multirate EMQF digital filters,” Electronics and Electrical Engineering, vol. 119, no. 3, pp. 39–44, 2012 [4] L. Milic, Multirate Filtering for Digital Signal Processing: MATLAB Applications, Hershey NY, Information Science Reference, 2009. [5] M Nikoliü, M Lutovac, “Sharpening of the multistage modified comb filters,” Serbian Journal of Electrical Engineering, vol. 8, no. 3, pp. 281291, 2011. [6] V. D. Pavloviü, N. Doncov, D. Ciric, “1D and 2D economical FIR filters generated by Chebyshev polynomials of the first kind," Int. Journal of Electronics, DOI:10.1080/00207217.2013.764549, 1-28, 2013. [7] S. L. Peric, D.S. Antic, V. D. Pavloviü, S. S. Nikolic, and M.T. Milojkovic, “Ultra-selective lowpass linear-phase FIR filter function," IET Electronics Letters, vol. 49, no. 9, 2013, in press. [8] J. R. Djordjevic, V. D. Pavloviü, “An analytical method for the multiplierless 2D FIR Filter Functions and Hilbert Transform in z2 domain," IEEE Trans. Circuits and Systems II, 60, 2013, in press. [9] M. D. Lutovac and D. V. Tošiü, SchematicSolver - Symbolic Signal Processing, Version 2.2, Belgrade, Serbia, Lutovac, 2010. [10] S. Wolfram, The Mathematica Book, Champaign USA, Wolfram Media, 2003. [11] M. Lutovac, Design of Analog and Digital Filters Using Computer Algebra Systems, in Serbian, Belgrade, Academic Mind, 2011. [12] V. D. Pavloviü, M. M. Lutovac, and M. D. Lutovac, "Automated Knowledge-Based Filter Synthesis Using Modified Legendre Approximation and Optimization of Summed Sensitivity," Int. J. Reasoning-based Intelligent Systems, vol. 4, nos. 1/2, pp. 17-27, 2012.
131