Signal Processing Toolbox | Help Desk |
besself
Bessel analog filter design.
[b,a] = besself(n,Wn)
[b,a] = besself(n,Wn,'ftype
')
[z,p,k] = besself(...)
[A,B,C,D] = besself(...)
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:besself
, the cutoff frequency Wn
must be greater than 0. The magnitude response of a Bessel filter designed by besself
is always less than sqrt(1/2)
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
, besself(n,Wn)
returns an order 2*n
bandpass analog filter with passband w1
< w2
.
[b,a] = besself(n,Wn,'ftype
')
designs a highpass or bandstop filter, where 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
.
besself
directly obtains other realizations of the analog filter. To obtain zero-pole-gain form, use three output arguments:
[z,p,k] = besself(n,Wn)
or
[z,p,k] = besself(n,Wn,'ftype
')
besself returns the zeros and poles in length 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:
[A,B,C,D] = besself(n,Wn)
or
[A,B,C,D] = besself(n,Wn,'ftype
')
where A
, B
, C
, and D
arefreqs
:
[b,a] = besself(5,10000); freqs(b,a) % plot frequency responseLowpass 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.
![]()
besself
performs a four-step algorithm:
besselap
function.