In most cases these linear filters are also time invariant (or shift invariant) in which case they can be analyzed exactly using LTI ("linear time-invariant") system theory revealing their transfer functions in the frequency domain and their impulse responses in the time domain.
Real-time implementations of such linear signal processing filters in the time domain are inevitably causal, an additional constraint on their transfer functions.
The general concept of linear filtering also extends into other fields and technologies such as statistics, data analysis, and mechanical engineering.
Typical filter design goals are to realize a particular frequency response, that is, the magnitude of the transfer function
; the importance of the phase of the transfer function varies according to the application, inasmuch as the shape of a waveform can be distorted to a greater or lesser extent in the process of achieving a desired (amplitude) response in the frequency domain.
The impulse response h completely characterizes any linear time-invariant (or shift-invariant in the discrete-time case) filter.
The input x is said to be "convolved" with the impulse response h having a (possibly infinite) duration of time T (or of N sampling periods).
Filter design consists of finding a possible transfer function that can be implemented within certain practical constraints dictated by the technology or desired complexity of the system, followed by a practical design that realizes that transfer function using the chosen technology.
[1] Using digital computers, on the other hand, both FIR and IIR filters are straightforward to implement in software.
of a filter can be obtained if the impulse response is known, or directly through analysis using Laplace transforms, or in discrete-time systems the Z-transform.
Then, a mathematical procedure finds a filter transfer function that can be realized (within some constraints), and approximates the desired response to within some criterion.
However the duration of the filter's impulse response, and the number of terms that must be summed for each output value (according to the above discrete time convolution) is given by
where T is the sampling period of the discrete time system (N-1 is also termed the order of an FIR filter).
In a digital implementation, the number of computations performed per sample is proportional to N. Thus the mathematical problem is to obtain the best approximation (in some sense) to the desired response using a smaller N, as we shall now illustrate.
A Bessel filter (not shown) has an even poorer transition in the frequency domain, but maintains the best phase fidelity of a waveform.
A popular circuit implementing a second order active R-C filter is the Sallen-Key design, whose schematic diagram is shown here.
An Nth order FIR filter can be implemented in a discrete time system using a computer program or specialized hardware in which the input signal is subject to N delay stages.
Superior shapes for the frequency response can be obtained using coefficients derived from a more sophisticated design procedure.
They also contained tables of values showing how to implement such filters as RLC ladders - very useful when amplifying elements were expensive compared to passive components.
Such a ladder can also be designed to have minimal sensitivity to component variation a property hard to evaluate without computer tools.
FIR digital filters may be implemented by the direct convolution of the desired impulse response with the input signal.
IIR digital filters are often more difficult to design, due to problems including dynamic range issues, quantization noise and instability.