Signal Processing Toolbox | ![]() ![]() |
Syntax
Description
besself
designs lowpass, bandpass, highpass, and bandstop analog Bessel filters. Analog Bessel filters are characterized by almost constant group delay across the entire passband, thus preserving the wave shape of filtered signals in the passband. Digital Bessel filters do not retain this quality, and besself
therefore does not support the design of digital Bessel filters.
[b,a] = besself(n,Wn)
designs an order n
lowpass analog filter with cutoff frequency
Wn
. It returns the filter coefficients in the length n+1
row vectors b
and a
, with coefficients in descending powers of s, derived from this transfer function:
Cutoff frequency is the frequency at which the magnitude response of the filter begins to decrease significantly. For besself
, the cutoff frequency Wn
must be greater than 0. The magnitude response of a Bessel filter designed by besself
is always less than
at the cutoff frequency, and it decreases as the order n
increases.
If Wn
is a two-element vector, Wn
= [w1 w2]
with w1
< w2
, then besself(n,Wn)
returns an order 2*n
bandpass analog filter with passband w1
< <
w2
.
[b,a] = besself(n,Wn,'
designs a highpass or bandstop filter, where the string ftype
')
'
ftype
'
is
'high'
for a highpass analog filter with cutoff frequency Wn
'stop'
for an order 2*n
bandstop analog filter if Wn
is a two-element vector, Wn = [w1 w2]
. The stopband is w1
< w2
.
With different numbers of output arguments, besself
directly obtains other realizations of the analog filter. To obtain zero-pole-gain form, use three output arguments as shown below.
[z,p,k] = besself(n,Wn,'
returns the zeros and poles in length ftype
')
n
or 2
*n
column vectors z
and p
and the gain in the scalar k
.
To obtain state-space form, use four output arguments as shown below:
[A,B,C,D]
where =
besself(n,Wn,'ftype
')
A
, B
, C
, and D
are
and u is the input, x is the state vector, and y is the output.
Examples
Design a fifth-order analog lowpass Bessel filter that suppresses frequencies greater than 10,000 rad/s and plot the frequency response of the filter using freqs
:
Limitations
Lowpass Bessel filters have a monotonically decreasing magnitude response, as do lowpass Butterworth filters. Compared to the Butterworth, Chebyshev, and elliptic filters, the Bessel filter has the slowest rolloff and requires the highest order to meet an attenuation specification.
For high order filters, the state-space form is the most numerically accurate, followed by the zero-pole-gain form. The transfer function coefficient form is the least accurate; numerical problems can arise for filter orders as low as 15.
Algorithm
besself
performs a four-step algorithm:
besselap
function.
See Also
besselap
, butter
, cheby1
, cheby2
, ellip
![]() | besselap | bilinear | ![]() |