besself3

Create a Bessel filter.

Syntax

[b,a] = besself3(n,Wp)

[b,a] = besself3(n,Wp,band)

[b,a] = besself3(n,Wp,domain)

[b,a] = besself3(n,Wp,band,domain)

Inputs

n
The filter order.
Type: integer
Dimension: scalar
Wp
A scalar specifying the 3dB cutoff frequency of a low or high pass filter, or a two element vector specifying the cutoff frequencies of a bandpass or bandstop filter. For a digital filter the values (in Hz) are normalized relative to the Nyquist frequency. For an analog filter the values are in radians/sec. See Comments.
Type: double
Dimension: scalar | vector
band
The band type of the filter. Omit for low pass or bandpass. Use 'high' for high pass, and 'stop' for bandstop.
Type: string
domain
Omit for digital filters. Use 's' for analog filters.
Type: string

Outputs

b
The numerator polynomial coefficients of the filter.
Type: vector
a
The denominator polynomial coefficients of the filter.
Type: vector

Example

Create a fourth order Bessel low pass digital filter with a 300 Hz cutoff frequency and a 1000 Hz sampling frequency.

[b,a] = besself3(4,300/500)
b = [Matrix] 1 x 5
0.25350  1.01399  1.52099  1.01399  0.25350
a = [Matrix] 1 x 5
1.00000  1.56400  1.08905  0.35652  0.04640

Comments

Bessel filters are desirable for their property of having a maximally linear phase response in the pass band of an analog filter. For digital filters, this property is lost unless the sampling frequency is substantially higher than the cutoff frequency.

Filters can become unstable for high orders, and more easily so for bandpass or stopband filters.