digital filter(redirected from Digital filters)
digital filter[′dij·əd·əl ′fil·tər]
Any digital computing means that accepts as its input a set of one or more digital signals from which it generates as its output a second set of digital signals. While being strictly correct, this definition is too broad to be of any practical use, but it does demonstrate the possible extent of application of digital-filter concepts and terminology.
Digital filters can be used in any signal-manipulating application where analog or continuous filters can be used. Because of their utterly predictable performance, they can be used in exacting applications where analog filters fail because of time- or other parameter-dependent coefficient drift in continuous systems. Because of the ease and precision of setting the filter coefficients, adaptive and learning digital filters are comparatively simple and particularly effective to implement. As digital technology becomes more ubiquitous, digital filters are increasingly acknowledged as the most versatile and cost-effective solutions to filtering problems.
The number of functions that can be performed by a digital filter far exceeds that which can be performed by an analog, or continuous, filter. By controlling the accuracy of the calculations within the filter (that is, the arithmetic word length), it is possible to produce filters whose performance comes arbitrarily close to the performance expected of the perfect models. For example, theoretical designs that require perfect cancellation can be implemented with great fidelity by digital filters.
Linear difference equation
The digital filter accepts as its input signals numerical values called input samples and produces as its output signal numerical values called output samples. Each output sample at any particular sampling instant is a weighted sum of present and past input samples, and past output samples. If the sequence of input samples is xn, xn+1, xn+2, …, then the corresponding sequence of output samples would be yn, yn+1, yn+2,….
From this simple time-domain expression, a considerable number of definitions can be constructed. If the filter coefficients (the a's and the b's) are independent of the x's and y's, this digital filter is a linear filter. If the a's and b's are fixed, this is a linear time-invariant (LTI) filter. The order of the filter is given by the largest of the subscripts among the a's and b's, that is, the larger of M and N. If the b's are all zero (that is, if the output is the weighted sum of present and past input samples only), the digital filter is referred to as a nonrecursive (having no feedback) or finite impulse response (FIR) filter because the response of the filter to an impulse (actually a unit pulse) input is simply the sequence of the “a” coefficients. If any value of b is nonzero, the filter is recursive (having feedback) and is generally an infinite impulse response (IIR) filter.
If the digital filter under consideration is not a linear, time-invariant filter, the transfer function cannot be used.
Although the time-domain difference equation is a useful description of a filter, as in the continuous-domain filter case, a powerful alternative form is the transfer function. The information content of the transfer function is the same as that of the difference equation as long as a linear, time-invariant system is under consideration. A difference equation is converted to transfer-function form by use of the z transform. The z transform is simply the Laplace transform adapted for sampled systems with some shorthand notation introduced.
So far only LTI filters have been discussed. An important class of variable-parameter filter change their coefficients to minimize an error criterion. These filters are called adaptive because they adapt their parameters in response to changes in the operating environment. An example is an FIR digital filter whose coefficients are continually adjusted so that the output will track a reference signal with minimum error. The performance criterion will be the minimization of some function of the error.