Bessel analog filter design

`[b,a] = besself(n,Wo)`

`[b,a] = besself(n,Wo,ftype)`

`[z,p,k] = besself(___)`

`[A,B,C,D] = besself(___)`

`[`

returns the transfer function coefficients of an `b`

,`a`

] = besself(`n`

,`Wo`

)`n`

th-order
lowpass analog Bessel filter, where `Wo`

is the angular
frequency up to which the filter's group delay is approximately constant. Larger
values of `n`

produce a group delay that better approximates
a constant up to `Wo`

. The `besself`

function does not support the design of digital Bessel filters.

`besself`

designs analog Bessel filters, which are characterized by
an almost constant group delay across the entire passband, thus preserving the wave
shape of filtered signals in the passband.

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.

`besself`

uses a four-step algorithm:

Find lowpass analog prototype poles, zeros, and gain using the

`besselap`

function.Convert the poles, zeros, and gain into state-space form.

If required, use a state-space transformation to convert the lowpass filter into a bandpass, highpass, or bandstop filter with the desired frequency constraints.

Convert the state-space filter back to transfer function or zero-pole-gain form, as required.

[1] Parks, Thomas W., and C. Sidney Burrus. *Digital Filter
Design*. New York: John Wiley & Sons, 1987.