In electronics and signal processing, a Bessel filter is a type of analog linear filter with a maximally flat group delay (i.e., maximally linear phase response), which preserves the wave shape of filtered signals in the passband.[1] Bessel filters are often used in audio crossover systems.
The filter's name is a reference to German mathematician Friedrich Bessel (1784–1846), who developed the mathematical theory on which the filter is based. The filters are also called Bessel–Thomson filters in recognition of W. E. Thomson, who worked out how to apply Bessel functions to filter design in 1949.[2]
The Bessel filter is very similar to the Gaussian filter, and tends towards the same shape as filter order increases.[3][4] While the time-domain step response of the Gaussian filter has zero overshoot,[5] the Bessel filter has a small amount of overshoot,[6][7] but still much less than other common frequency-domain filters, such as Butterworth filters. It has been noted that the impulse response of Bessel–Thomson filters tends towards a Gaussian as the order of the filter is increased.[3]
Compared to finite-order approximations of the Gaussian filter, the Bessel filter has a slightly better shaping factor (i.e., how well a particular filter approximates the ideal lowpass response), flatter phase delay, and flatter group delay than a Gaussian filter of the same order, although the Gaussian has lower time delay and zero overshoot.[8]
The transfer function
editA Bessel low-pass filter is characterized by its transfer function:[9]
where is a reverse Bessel polynomial from which the filter gets its name and is a frequency chosen to give the desired cut-off frequency. The filter has a low-frequency group delay of . Since is indeterminate by the definition of reverse Bessel polynomials, but is a removable singularity, it is defined that .
Bessel polynomials
editThe transfer function of the Bessel filter is a rational function whose denominator is a reverse Bessel polynomial, such as the following:
The reverse Bessel polynomials are given by:[9]
where
Setting the cutoff attenuation
editThere is no standard set attenuation value for Bessel filters.[8] However, −3.0103 dB is a common choice. Some applications may use a higher or lower attenuation such as −1 dB or −20 dB. Setting the cut-off attenuation frequency involves first finding the frequency that achieves the desired attenuation, which will be referred to as , and then scaling the polynomials to the inverse of that frequency. To scale the polynomials, simply append to the term in each coefficient, as shown in the 3 pole Bessel filter example below.
may be found with Newton's method, or with root finding.
Finding attenuation frequency with Newton's method
editNewton's method requires a known magnitude value and derivative magnitude value for the for . However, it is easier to operate on and use the square of the desired cutoff gain, and is just as accurate, so the square terms will be used.
To obtain , follow the steps below.
- If is not already available, multiply by to obtain .
- negate all terms of when is divisible by . That would be , , , and so on. The modified function will be called , and this modification will allow the use of real numbers instead of complex numbers when evaluating the polynomial and its derivative. the real can now be used in place of the complex
- Convert the desired attenuation in dB, , to a squared arithmetic gain value, , by using . For example, 3.010 dB converts to 0.5, 1 dB converts to 0.79432823 and so on.
- Calculate the modified in Newton's method using the real value, . Always take the absolute value.
- Calculate the derivative the modified with respect to the real value, . DO NOT take the absolute value of the derivative.
When steps 1) through 4) are complete, the expression involving Newton's method may be written as:
using a real value for with no complex arithmetic needed. The movement of should be limited to prevent it from going negative early in the iterations for increased reliability. When complete, can used for the that can be used to scale the original transfer function denominator. The attenuation of the modified will then be virtually the exact desired value at 1 rad/sec. If performed properly, only a handful of iterations are needed to set the attenuation through a wide range of desired attenuation values for both small and very large order filters.
Finding attenuation frequency from the roots
editSince does not contain any phase information, directly factoring the transfer function will not produce usable results. However, the transfer function may be modified by multiplying it with to eliminate all odd powers of , which in turn forces to be real at all frequencies, and then finding the frequency that result on the square of the desired attention.
- If is not already available, multiply by to obtain .
- Convert the desired attenuation in dB, , to a squared arithmetic gain value, , by using . For example, 3.010 dB converts to 0.5, 1 dB converts to 0.79432823 and so on.
- Find
- Find the roots of P(S) using a root finding algorithm.
- Of the set of roots from above, select the positive imaginary root for odd order filters, and positive real root for even order filters.
- Cutoff attenuations that are above the pass band ripple or below the stop band ripple will come back with multiple roots, so the correct root will have to be selected.
Simple cut-off frequency example with root finding
editA 20-dB cut-off frequency attenuation example using the 3-pole Bessel example below is set as follows.
Example
editThe transfer function for a third-order (three-pole) Bessel low-pass filter with is
where the numerator has been chosen to give unity gain at zero frequency ( ).The roots of the denominator polynomial, the filter's poles, include a real pole at , and a complex-conjugate pair of poles at , plotted above.
The gain is then
The −3-dB point, where occurs at . This is conventionally called the cut-off frequency.
The phase is
The group delay is
The Taylor series expansion of the group delay is
Note that the two terms in and are zero, resulting in a very flat group delay at . This is the greatest number of terms that can be set to zero, since there are a total of four coefficients in the third-order Bessel polynomial, requiring four equations in order to be defined. One equation specifies that the gain be unity at and a second specifies that the gain be zero at , leaving two equations to specify two terms in the series expansion to be zero. This is a general property of the group delay for a Bessel filter of order : the first terms in the series expansion of the group delay will be zero, thus maximizing the flatness of the group delay at .
Digital
editAlthough the bilinear transform is used to convert continuous-time (analog) filters to discrete-time (digital) infinite impulse response (IIR) filters with comparable frequency response, IIR filters obtained by the bilinear transformation do not have constant group delay.[10] Since the important characteristic of a Bessel filter is its maximally-flat group delay, the bilinear transform is inappropriate for converting an analog Bessel filter into a digital form.
The digital equivalent is the Thiran filter, also an all-pole low-pass filter with maximally-flat group delay,[11][12] which can also be transformed into an allpass filter, to implement fractional delays.[13][14]
See also
editReferences
edit- ^ "Bessel Filter". 2013. Archived from the original on 2013-01-24. Retrieved 2022-05-14.
- ^ Thomson, W. E. (November 1949). "Delay networks having maximally flat frequency characteristics" (PDF). Proceedings of the IEE - Part III: Radio and Communication Engineering. 96 (44): 487–490. doi:10.1049/pi-3.1949.0101.
- ^ a b Roberts, Stephen (2001). "Transient Response and Transforms: 3.1 Bessel-Thomson filters" (PDF).
- ^ "comp.dsp | IIR Gaussian Transition filters". www.dsprelated.com. Retrieved 2022-05-14.
- ^ "Gaussian Filters". www.nuhertz.com. Archived from the original on 2020-01-11. Retrieved 2022-05-14.
- ^ "How to choose a filter? (Butterworth, Chebyshev, Inverse Chebyshev, Bessel–Thomson)". www.etc.tuiasi.ro. Retrieved 2022-05-14.
- ^ "Free Analog Filter Program". www.kecktaylor.com. Retrieved 2022-05-14.
- ^ a b Paarmann, Larry D. (2001). Design and Analysis of Analog Filters: A Signal Processing Perspective. Norwell, Massachusetts, US: Kluwer Academic Publishers. p. 224. ISBN 0-7923-7373-1.
- ^ a b Bianchi, Giovanni; Sorrentino, Roberto (2007). Electronic filter simulation & design. McGraw–Hill Professional. pp. 31–43. ISBN 978-0-07-149467-0.
- ^ Zhang, Xi (2008-07-01). "Design of maximally flat IIR filters with flat group delay responses". Signal Processing. 88 (7): 1792–1800. doi:10.1016/j.sigpro.2008.01.016. ISSN 0165-1684.
- ^ Thiran, J.-P. (1971). "Recursive digital filters with maximally flat group delay". IEEE Transactions on Circuit Theory. 18 (6): 659–664. doi:10.1109/TCT.1971.1083363. ISSN 0018-9324.
- ^ Madisetti, Vijay (1997). "Section 11.3.2.2 Classical IIR Filter Types". The Digital Signal Processing Handbook. CRC Press. p. 11-32. ISBN 9780849385728.
- ^ Smith III, Julius O. (2015-05-22). "Thiran Allpass Interpolators". W3K Publishing. Retrieved 2022-05-14.
- ^ Välimäki, Vesa (1995). Discrete-time modeling of acoustic tubes using fractional delay filters (PDF) (Thesis). Helsinki University of Technology.