Equiripple FIR filter design by the FFT algorithm
The fast Fourier transform (FFT) algorithm has been used in a variety of applications in signal and image processing. In this article, a simple procedure for designing finite-extent impulse response (FIR) discrete-time filters using the FFT algorithm is described. The zero-phase (or linear phase) FIR filter design problem is formulated to alternately satisfy the frequency domain constraints on the magnitude response bounds and time domain constraints on the impulse response support. The design scheme is iterative in which each iteration requires two FFT computations. The resultant filter is an equiripple approximation to the desired frequency response. The main advantage of the FFT-based design method is its implementational simplicity and versatility. Furthermore, the way the algorithm works is intuitive and any additional constraint can be incorporated in the iterations, as long as the convexity property of the overall operations is preserved. In one-dimensional cases, the most widely used equiripple FIR filter design algorithm is the Parks-McClellan algorithm (1972). This algorithm is based on linear programming, and it is computationally efficient. However, it cannot be generalized to higher dimensions. Extension of our design method to higher dimensions is straightforward. In this case two multidimensional FFT computations are needed in each iteration.