An order M FIR filter can be designed to have arbitrary magnitude and phase response at up to M/2 specified frequencies by solving a system of linear equations. The response is not controlled in between the design frequencies, however. When the number of design frequencies exceeds M/2, an FIR filter that minimizes the squared error between desired and actual response may be obtained.