Finite Impulse Response (FIR) filters have no feedback and are inherently stable. Design methods (windowing, Parks-McClellan) create linear-phase responses ideal for audio and image processing. FIR filters require more multiplications than IIR for the same cutoff slope but offer excellent stability and phase linearity.
From digital signal processing fundamentals, you know that a digital filter is a difference equation relating output samples to past inputs (and possibly past outputs), and that its frequency response determines which components of a signal it passes or rejects. An FIR filter has no past output terms — its output y[n] = Σ h[k] · x[n−k] for k = 0 to M is a weighted sum of current and past *input* samples only. The coefficients h[k] are directly the filter's impulse response, and because the impulse response has exactly M+1 non-zero terms, it is finite by construction. With no feedback path, there are no poles (other than those at z = 0 in the z-domain), and the filter is unconditionally stable — a property IIR filters cannot guarantee.
The most important practical property of FIR filters is linear phase. If the impulse response is symmetric — h[k] = h[M−k] — the filter introduces a constant group delay of M/2 samples at all frequencies. This means every frequency component in the signal is delayed by the same amount: the shape of a signal is preserved, just time-shifted. For audio processing, this matters because phase distortion creates audible artifacts (pre-ringing, smearing of transients). For image filtering, non-linear phase creates visible ghosting. Linear phase is a design requirement in many applications, and symmetry of the FIR coefficients guarantees it exactly — a structural guarantee that IIR filters cannot easily achieve.
The windowing method for FIR design starts from the ideal filter frequency response (a perfect rectangular brickwall), computes its inverse Fourier transform to get an infinite-length impulse response, truncates it to M+1 coefficients, and multiplies by a window function to reduce spectral leakage from the sharp truncation. A rectangular window gives the steepest transition band but the largest stopband ripple (Gibbs phenomenon, ≈21 dB). Smoother windows — Hamming (≈41 dB), Hann (≈44 dB), Blackman (≈74 dB) — reduce stopband ripple at the cost of wider transition bands. You choose the window by trading off transition width against stopband attenuation for your application.
The Parks-McClellan algorithm (equiripple or minimax design) takes a different approach: it directly minimizes the maximum deviation between the desired and actual frequency response over the passband and stopband, subject to a given filter length. The result is an equiripple design where the error oscillates uniformly at its maximum value — by the Chebyshev equiripple theorem, this is the optimal design for a given order and set of band specifications. Parks-McClellan typically achieves the desired specifications with fewer coefficients (lower order) than windowing, at the cost of requiring an iterative algorithm (the Remez exchange algorithm) rather than a simple closed-form formula. In practice: use windowing for quick designs where exact stopband specifications are not critical; use Parks-McClellan when coefficient count matters (as it does in real-time embedded implementations where every multiply-accumulate operation costs power and latency).