A standard method to design equiripple filters is based on the Remez exchange algorithm for Chebyshev approximation; see McClellan, Parks and Rabiner (1979) FIR linear phase design program in Programs for Digital Signal Processing, IEEE Press for a FORTRAN implementation.
A rewrite of the original FORTRAN algorithm comes GNU-free from Jake Janovetz . To use it with Delphi, download the DLL version from our site.
When I tried to design a 8-10Hz bandpass at 1000 Hz sampling rate with 360 coefficients, Jake's program gave strange results (see image below). The resulting transfer function looks as expected, but note the strange tails at both ends of the coefficient set. I first thought there was something wrong with Jake's code, until Robert Rossmair checked with the original FORTRAN implementation and also found the tails.
The Remez method produces nice FIR-sets for tap numbers < 100, but needs some additional constraints to keep the fringe coefficients low for large filters. Since the transfer function is correct, the filters may be used if one does not care much about time information; they are less useful if weighting must be concentrated at the center such as in short-time spectral analysis. The Simplex-method by Steiglitz, Parks and Kaiser gives equally capricious results for large filters; it often does not converge at all.
I know, filters of this type should be realized with decimation and subfiltering. I had no choice, however, I needed the 1-ms time resolution for real-time triggering of a stimulus in EEG analysis.

Dr. Dieter Menne
07071 52176