Digital filtering is a fundamental technique that allows digital computers to process sensor signals from the environment and generate output signals of almost any desired waveform. The most sophisticated kind of signal processing system makes use of additional information, human knowledge, sensor data, and algorithms to adaptively optimize the digital filter parameters. This chapter describes the two most fundamental types of digital filter: the finite impulse response (FIR) and infinite impulse response (IIR) filters. It presents digital systems can also be designed based on state variables and the relationship to IIR filtering. FIR digital filters are usually designed by specifying a desired frequency response and computing an inverse Fourier transform to get the impulse response. IIR filters are essentially the spectral inverse of FIR filters. IIR filters are described by a ratio of polynomials in z and can have poles and zeros or only poles.