Low Pass Bessel Filter in Digital Form?
1. Abbreviation
IIR – Infinite Impulse Response Filter
Bessel Filter – analog filter with the linear phase response, the filter response has not overshoot
2. Introduction
Some digital applications must use filters with a linear phase response. For this purpose, Bessel filters are used in an analog technology. There is a question. Is it possible to use the Bessel filter in IIR digital applications?
There are several methods for converting analog filters to IIR digital form:
1) backward Euler;
2) impulse invariance;
3) bilinear transform;
All three methods are nonlinear. This means that after converting an analog filter to an IIR digital filter, the digital filter should/may lose the linearity of the phase response.
Professional digital applications are used a third method: the bilinear method because the convertion has maximum accuracy between z and s planes.
In the next sections we will consider the possibility of achieving a Bessel filter in digital form with the bilinear transform.
3. The possibility of obtaining linear bilinear transformation
Consider the bilinear transformation:
Using that:
and
Then (2), (3) set to (1):
Then:
So there is a non-linear relationship between analog and digital frequency. On the other hand the following formula is known:
This means that for small values of the angle x in radians:
tan(x) ≈ x (6)
Then we can write (4) for the small ΩTs/2 value
So the condition of linearity of the bilinear transformation is obtained! Consider (6) in detail.
The table 3.1 shows that formula (6) is correct with sufficient accuracy less 10% up to 30 degrees (0,523599 Radians). Then we can write:
where Ωband – band of the Low Pass Filter. The amplitude-frequency response at this frequency drops to -3dB.
4. Example of Low Pass Bessel Filter in digital Form
Let’s develop a fourth order digital Bessel filter with frequency band fband=1kHz. Using (8), the sampling rate can be calculated:
or
Then
Bessel normalized fourth-order Laplace transfer function from [3]:
where
Using the (12), (13):
Then
Analog Bessel Filter (14). Magnitude Response. See the Figure 4.1
Analog Bessel Filter (14). Phase Response is linear in the passband of the filter. In this case, the filter output signal form is not changed/distorted. See the Figure 4.2.
Analog Bessel Filter (14). Response on the step signal. The response has a small overshoot about 0,84% (maximal value 1.008347877). This proves that the phase characteristic of the filter is linear. See the Figure 4.3
Convert an analog filter (14) to a digital one using the bilinear transform (1), sampling (10) Ts=83.3μs and the Math Octave Tool (see the DigitalBesselFilter.m):
[ZB1, ZA1] = bilinear ([1], [1.2384e-8, 2.1322e-4, 1], 83.3e-6)
ZB1 = [0.075425 0.150850 0.075425]
ZA1 = [1.0000 -0.9261 0.2278]
[ZB2, ZA2] = bilinear ([1], [9.8535e-9, 1.2323e-4, 1], 83.3e-6)
ZB2 = [0.1037 0.2075 0.1037]
ZA2 = [1.0000 -0.9711 0.3861]
Then digital Bessel Filter has follow z-Transform function with second order sections:
Digital Bessel Filter. Magnitude Response. See the Figure 4.4. Compare the Magnitude Responses of the analog and digital Bessel Filters. See the Figure 4.1 and 4.4. The transition band of the digital filter has a sharper characteristic. For example: f=5kHz => analog Bessel filter is about -42dB and digital Bessel filter is about -80dB (almost in 2 times stronger!). It means that the digital filter is more effective as the analog prototype.
Digital Bessel Filter. Phase Response is remained linear in the passband of the filter because the condition (8) is valid. See the Figure 4.5
Digital Bessel Filter. The Step response has a small overshoot 1.6% (maximal value 1.01556). It means that the phase response is remained linear after bilinear transform. See the Figure 4.6.
Notes:
-
The overshoot is in two times higher than that of analog Bessel prototype: 0.8% => 1.6%
-
The overshoot can be reduced by increasing the sampling frequency further
Figure 4.6: Digital Bessel Filter. Step Response
5. Conclusion
– It is possible to use the Bessel filter in digital form. The condition is described by the formula (8)
– This implementation is possible for low pass filters and does not work for bandpass filters and high pass filters
– The sampling time should be satisfy (8) and higher than the Nyquist sampling criteria
– The digital Bessel filter has a higher overshoot than analog prototype
– The digital Bessel filter has a sharper/stronger magnitude response than analog prototype
– You can see the C Implementation of the digital Bessel filter in the article: “IIR Filter and C Implementation Using Octave GNU Tool“
6. Appendix
The Octave file: DigitalBesselFilter.m has all calculations for the article. You can test self the different variants.
%*********************************************************************/
% Freeware Demo SW from the www.dsp-weimich.com */
% DigitalBesselFilter.m */
% Octave Script */
% High-level interactive language for numerical computations*/
% Support the article: Bessel Filter in Digital Form? */
%*********************************************************************/