You are here : matlabSignal Processingbesself

# besself() - Signal Processing

```besself designs lowpass, analog Bessel filters,
which are characterized by almost constant group delay across the
entire passband, thus preserving the wave shape of filtered signals
in the passband. besself does not support the design
of digital Bessel filters.[b,a] = besself(n,Wo) designs
an order n lowpass analog Bessel filter, where Wo is the
frequency up to which the filter's group delay is approximately constant.
Larger values of the filter order (n) produce
a group delay that better approximates a constant up to frequency Wo. besself 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:H(s)=B(s)A(s)=b(1) sn+b(2) sn−1+⋯+b(n+1)a(1) sn+a(2) sn−1+⋯+a(n+1).[z,p,k] = besself(...) returns
the zeros and poles in length n or 2*n column
vectors z and p and the gain
in the scalar k. [A,B,C,D] = besself(...) returns
and D arex˙=A x+B uy=C x+D u.and u is the input, x is
the state vector, and y is the output.```

### Syntax

`[b,a] = besself(n,Wo)[z,p,k] = besself(...)[A,B,C,D] = besself(...)`

### Example

```Frequency Response of an Analog Bessel FilterOpen This Example
Design a 5th-order analog lowpass Bessel filter with approximately constant group delay up to
rad/s. Plot the magnitude and phase responses of the filter using freqs.
[b,a] = besself(5,10000);
freqs(b,a)

Frequency Response of a Digital Bessel FilterOpen This Example
Design an analog Bessel filter of order 5. Convert it to a digital IIR filter using bilinear. Display its frequency response.
Fs = 100;                           % Sampling Frequency
[z,p,k] = besself(5,1000);          % Bessel analog filter design
[zd,pd,kd] = bilinear(z,p,k,Fs);    % Analog to digital mapping
sos = zp2sos(zd,pd,kd);             % Convert to SOS form
fvtool(sos)                         % Visualize the digital filter```