The Matlab Signal Processing Toolbox covers many applications with the following functions:
All of these functions are implemented in Octave (which free and open-source) as well, except that firpm is called remez in Octave (the original name used in Matlab).11.3
Methods for FIR filter design are discussed in the fourth book of the music signal processing series [87], and classic references include [64,68]. There is also quite a large research literature on this subject.