In electronics, computer science and mathematics, a digital filter is a system that performs mathematical operations on a sampling, discrete-time signal to reduce or enhance certain aspects of that signal. This is in contrast to the other major type of electronic filter, the analog filter, which is an electronic circuit operating on continuous-time analog signals. An analog signal may be processed by a digital filter by first being digitized and represented as a sequence of numbers, then manipulated mathematically, and then reconstructed as a new analog signal (see digital signal processing). In an analog filter, the input signal is "directly" manipulated by the circuit.
A digital filter system usually consists of an analog-to-digital converter (to sample the input signal), a microprocessor (often a specialized digital signal processor), and a digital-to-analog converter. Software running on the microprocessor can implement the digital filter by performing the necessary mathematical operations on the numbers received from the ADC. In some high performance applications, an FPGA or ASIC is used instead of a general purpose microprocessor.
Digital filters may be more expensive than an equivalent analog filter due to their increased complexity, but they make practical many designs that are impractical or impossible as analog filters. Since digital filters use a sampling process and discrete-time processing, they experience latency (the difference in time between the input and the response), which is almost irrelevant in analog filters.
Digital filters are commonplace and an essential element of everyday electronics such as radios, cellphones, and stereo receivers.
Contents |
Characterization of digital filters
A digital filter is characterized by its transfer function, or equivalently, its difference equation. Mathematical analysis of the transfer function can describe how it will respond to any input. As such, designing a filter consists of developing specifications appropriate to the problem (for example, a second-order lowpass filter with a specific cut-off frequency), and then producing a transfer function which meets the specifications.
The transfer function for a linear, time-invariant, digital filter can be expressed as a transfer function in the Z-domain; if it is causal, then it has the form:
where the order of the filter is the greater of N or M. See Z-transform's LCCD equation for further discussion of this transfer function.
This form is for a recursive filter, which typically leads to infinite impulse response behaviour, but if the denominator is unity, then this is the form for a finite impulse response filter.
Analysis techniques
A variety of mathematical techniques may be employed to analyze the behaviour of a given digital filter. Many of these analysis techniques may also be employed in designs, and often form the basis of a filter specification.
Typically, one analyzes filters by calculating how the filter will respond to a simple input. One can then extend this information to visualize the filter's response to more complex signals.
Impulse response
The impulse response, often denoted H(z) or h(n) is a measurement of how a filter will respond to the Kronecker delta function. For example, given a difference equation, one would set x(0) = 1 and x(n) = 0 for n > 0 and evaluate. In the case of linear time-invariant FIR filters, the impulse response is exactly equal to the sequence of filter coefficients h(n) = bn. In general, the impulse response is a characterization of the filter's behaviour.
A plot of the impulse response will help to reveal how a filter will respond to a sudden, momentary disturbance.
Filter design
The design of digital filters is a deceptively complex topic1. Although filters are easily understood and calculated, the practical challenges of their design and implementation are significant and are the subject of much advanced research.
There are two categories of digital filter: the recursive filter and the nonrecursive filter. These are often referred to as infinite impulse response (IIR) filters and finite impulse response (FIR) filters, respectively2.
Filter realization
After a filter is designed, it must be realized by developing a signal flow diagram that describes the filter in terms of operations on sample sequences.
A given transfer function may be realized in many ways. Consider how a simple expression such as ax + bx + c could be evaluated – one could also compute the equivalent x(a + b) + c. In the same way, all realizations may be seen as "factorizations" of the same transfer function, but different realizations will have different numerical properties. Specifically, some realizations are more efficient in terms of the number of operations or storage elements required for their implementation, and others provide advantages such as improved numerical stability and reduced round-off error. Some structures are more optimal for fixed-point arithmetic and others may be more optimal for floating-point arithmetic.
Direct Form I
A straightforward approach for IIR filter realization is Direct Form I, where the difference equation is evaluated directly. This form is practical for small filters, but may be inefficient and impractical (numerically unstable) for complex designs3. In general, this form requires 2N delay elements (for both input and output signals) for a filter of order N.
Direct Form II
The alternate Direct Form II only needs N delay units, where N is the order of the filter – potentially half as much as Direct Form I. The disadvantage is that Direct Form II increases the possibility of arithmetic overflow for filters of high Q or resonance.4 It has been shown that as Q increases, the round-off noise of both direct form topologies increases without bounds.5 This is because, conceptually, the signal is first passed through an all-pole filter (which normally boosts gain at the resonant frequencies) before the result of that is saturated, then passed through an all-zero filter (which often attenuates much of what the all-pole half amplifies).
Cascaded second-order sections
A common strategy is to realize a higher-order (greater than 2) digital filter as a cascaded series of second-order "biquadratric" (or "biquad") sections6 (see digital biquad filter). Advantages of this strategy is that the coefficient range is limited. Cascading direct form II sections result in N delay elements for filter order of N. Cascading direct form I sections result in N+2 delay elements since the delay elements of the input of any section (except the first section) are a redundant with the delay elements of the output of the preceding section.
Other Forms
| Please help improve this section by expanding it. Further information might be found on the talk page or at requests for expansion. (October 2008) |
Other forms include:
- Series/cascade7
- Parallel8
- Ladder form9
- Lattice form10
- Coupled normal form
- Multifeedback
- Analog-inspired forms such as Sallen-key and state variable filters
- Systolic arrays
Comparison of analog and digital filters
Advantages
Digital filters can realize characteristics not practically achievable with analog filters; for example, creating a 1000 Hz low-pass filter which can achieve near-perfect transmission of a 999 Hz input while entirely blocking a 1001 Hz signal. Practical analog filters cannot discriminate between such closely spaced signals.
Digital filters have the potential to attain much better signal-to-noise ratios than analog filters because random analog noise occurs only during the analog-to-digital conversion (ADC). Multi-stages analog filters have random noise injected at each stage--causing errors to propagate down the system.
Disadvantages
The ADC stage creates deterministic quantization error which is due to digital storage and computation limitations. This also creates sample rate limitation which is generally lower than (cf. Nyquist sampling theorem) analog filters.
Types of digital filters
Many digital filters are based on the Fast Fourier transform, a mathematical algorithm that quickly extracts the frequency spectrum of a signal, allowing the spectrum to be manipulated (such as to create band-pass filters) before converting the modified spectrum back into a time-series signal.
Another form of a digital filter is that of a state-space model. A well used state-space filter is the Kalman filter published by Rudolf Kalman in 1960.
Converting the transfer function to a difference equation
In discrete-time systems, the digital filter is often implemented by converting the transfer function to a linear constant-coefficient difference equation (LCCD) via the Z-transform. The discrete frequency-domain transfer function is written as the ratio of two polynomials. For example:
This is expanded:
and divided by the highest order of z:
The coefficients of the denominator, ak, are the 'feed-backward' coefficients and the coefficients of the numerator are the 'feed-forward' coefficients, bk. The resultant linear difference equation is:
or, for the example:
This equation shows how to compute the next output sample, yn, in terms of the past outputs, yn − p, the present input, xn, and the past inputs, xn − p. In this form, the filter is amenable to numerical simulation via straightforward iteration.
References
General
- A. Antoniou, Digital Filters: Analysis, Design, and Applications, New York, NY: McGraw-Hill, 1993.
- J. O. Smith III, Introduction to Digital Filters with Audio Applications, Center for Computer Research in Music and Acoustics (CCRMA), Stanford University, September 2007 Edition.
- S.K. Mitra, Digital Signal Processing: A Computer-Based Approach, New York, NY: McGraw-Hill, 1998.
- A.V. Oppenheim and R.W. Schafer, Discrete-Time Signal Processing, Upper Saddle River, NJ: Prentice-Hall, 1999.
- J.F. Kaiser, Nonrecursive Digital Filter Design Using the Io-sinh Window Function, Proc. 1974 IEEE Int. Symp. Circuit Theory, pp. 20-23, 1974.
- S.W.A. Bergen and A. Antoniou, Design of Nonrecursive Digital Filters Using the Ultraspherical Window Function, EURASIP Journal on Applied Signal Processing, vol. 2005, no. 12, pp. 1910-1922, 2005.
- T.W. Parks and J.H. McClellan, Chebyshev Approximation for Nonrecursive Digital Filters with Linear Phase, IEEE Trans. Circuit Theory, vol. CT-19, pp. 189-194, Mar. 1972.
- L. R. Rabiner, J.H. McClellan, and T.W. Parks, FIR Digital Filter Design Techniques Using Weighted Chebyshev Approximation, Proc. IEEE, vol. 63, pp. 595-610, Apr. 1975.
- A.G. Deczky, Synthesis of Recursive Digital Filters Using the Minimum p-Error Criterion, IEEE Trans. Audio Electroacoust., vol. AU-20, pp. 257-263, Oct. 1972.
Cited
- ^ M. E. Valdez, Digital Filters, 2001.
- ^ A. Antoniou, chapter 1
- ^ J. O. Smith III, Direct Form I
- ^ J. O. Smith III, Direct Form II
- ^ L. B. Jackson, "On the Interaction of Roundoff Noise and Dynamic Range in Digital Filters," Bell Sys. Tech. J., vol. 49 (1970 Feb.), reprinted in Digital Signal Process, L. R. Rabiner and C. M. Rader, Eds. (IEEE Press, New York, 1972).
- ^ J. O. Smith III, Series Second Order Sections
- ^ A. Antoniou
- ^ A. Antoniou
- ^ A. Antoniou
- ^ A. Antoniou
See also
- Analog filter
- Bessel filter
- Butterworth filter
- Elliptical filter (Cauer filter)
- Linkwitz-Riley filter
- Chebyshev filter
- Ladder filter
- Digital signal processing
- Sample (signal)
- Electronic filter
- Filter design
- Biquad filter
- High-pass filter, Low-pass filter
- Infinite impulse response, Finite impulse response
- Z-transform
- Bilinear transform
External links
- WinFilter – Free filter design software
- Filtplot – Free customizable digital filter design software built with python and boost (WinXP/Ubuntu 6.10/RHEL-4). Also with interactive web interface.
- DISPRO – Free filter design software
- Java demonstration of digital filters
- IIR Explorer educational software
- FIWIZ – Filter design wizard (FIR, IIR)
- Introduction to Filtering
Wikipedia content modification information:
- This page was last modified on 5 November 2008, at 18:41.
Wikipedia Authorship and Review
Wikipedia content provided here is not reviewed directly by PediaView.com. Wikipedia content is authored by an open community of volunteers and is not produced by or in any way affiliated with PediaView.com.
Wikipedia Usage Guidelines
This article is licensed under the GNU Free Documentation License. It uses material from the Wikipedia article on "Filter theory".
The URL for this specific entry is:
All Wikipedia text is available under the terms of the GNU Free Documentation License. (See Copyrights for details). Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc.





![y[n] = -\sum_{k=1}^{N} a_{k} y[n-k] + \sum_{k=0}^{M} b_{k} x[n-k]](http://upload.wikimedia.org/math/7/5/5/7550fd7e8b5e1aa43d587ff986ef5238.png)
![y[n] = x[n] + 2x[n-1] + x[n-2] - \frac{1}{4} y[n-1] + \frac{3}{8} y[n-2]](http://upload.wikimedia.org/math/9/9/7/997debf289db57393e914bf7af07674a.png)