Digital filtering is the process of spectrum shaping using digital components as the basic elements. Increasing speed and decreasing size and cost of digital components make it likely that digital filtering, already used extensively in the computer simulation of analog filters, will perform, in real-time devices, the functions which are now performed almost exclusively by analog components. In this paper, using the z-transform calculus, several digital filter design techniques are reviewed, and new ones are presented. One technique can be used to design a digital filter whose impulse response is like that of a given analog filter; other techniques are suitable for the design of a digital filter meeting frequency response criteria. Another technique yields digital filters with linear phase, specified frequency response, and controlled impulse response duration. The effect of digital arithmetic on the behavior of digital filters is also considered.