For those of us who may be involved in digital signal processing of signals, and specially digital filtering, MATHWORKS ( MATLAB) has developed and offers the following utilities ( among others) to help us design and analyze these types of filters. The utilities that the author has used and found very useful are: remez, freqz, fir1, impz, various window functions. Remez implements the Parks- McClellan algorithm. In this utility the user provides a frequency, magnitude pair and the order of a required filter. The utility provides the coefficients of the filter. Apparently remez has been replaced by firpm. Details of the techniques are on Google or MATLAB.
freqz calculates the frequency response of a digital filter given the coefficients of the transfer function ( b,a) and n, the number of frequency points to be calculated. The result is a two dimensional matrix [h,w] where h is the frequency response at the frequency point w. Details on Google or MATLAB.
impz is another very useful utility that calculates the impulse response of a filter. Given the numerator and denominator coefficients of he filter, impz returns the impulse response h, and the time t of the response.
stem is a very useful utility that can be used to plot the impulse response as a collection of stems with little circles at their termination points.
plot is another very useful function that plots responses of filters ( and other quantities) in MATLAB.
All of these utilities have multiple options and the user can access these using MATLAB.
Please visit the Signal Processing Group Inc. website for more useful technical information