Digital filter
From Wikipedia, the free encyclopedia
In electronics, a digital filter is any electronic filter that works by performing digital mathematical operations on an intermediate form of a signal. This is in contrast to older analog filters which work entirely in the analog realm and must rely on physical networks of electronic components (such as resistors, capacitors, transistors, etc.) to achieve the desired filtering effect.
Digital filters can achieve virtually any filtering effect that can be expressed as a mathematical function or algorithm. The two primary limitations of digital filters are their speed (the filter can't operate any faster than the computer at the heart of the filter), and their cost. However as the cost of integrated circuits has continued to drop over time, digital filters have become increasingly commonplace and are now an essential element of many everyday objects such as radios, cellphones, and stereo receivers.
Contents |
[edit] Digital vs. analog filters
[edit] 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.
[edit] 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.
[edit] 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 pass-band filters) before converting the modified spectrum back into a time-series signal.
The transfer function for a typical linear digital filter can be expressed as a transform in the Z-domain, as:
where M is the order of the filter. 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.
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.
[edit] 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, y[n], in terms of the past outputs, y[n − p], the present input, x[n], and the past inputs, x[n − p]. In this form, the filter is amenable to numerical simulation via straightforward iteration.
[edit] References
- A. Antoniou, Digital Filters: Analysis, Design, and Applications, New York, NY: McGraw-Hill, 1993.
- 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.
[edit] 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
[edit] 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