Main Content

besselap

Bessel analog lowpass filter prototype

Description

example

[z,p,k] = besselap(n) returns the poles and gain of an order-n Bessel analog lowpass filter prototype.

Examples

collapse all

Design a 6th-order Bessel analog lowpass filter. Display its magnitude and phase responses.

[z,p,k] = besselap(6);        % Lowpass filter prototype
[num,den] = zp2tf(z,p,k);     % Convert to transfer function form
freqs(num,den)                % Frequency response of analog filter

Figure contains 2 axes objects. Axes object 1 contains an object of type line. Axes object 2 contains an object of type line.

Input Arguments

collapse all

Filter order, specified as an integer scalar. n must be less than or equal to 25.

Data Types: double

Output Arguments

collapse all

Zeros of the filter prototype, returned as an empty matrix. z is empty because there are no zeros.

Poles of the filter prototype, returned as a length-n column vector.

Gain of the filter prototype, returned as a scalar.

Algorithms

The besselap function finds the filter roots from a lookup table constructed using Symbolic Math Toolbox™ software.

Analog Bessel filters are characterized by a group delay that is maximally flat at zero frequency and almost constant throughout the passband. The group delay at zero frequency is

((2n)!2nn!)1/n.

The besselap function normalizes the poles and gain so that at low frequency and high frequency the Bessel prototype is asymptotically equivalent to the Butterworth prototype of the same order [1]. The magnitude of the filter is less than 1/2 at the unity cutoff frequency Ωc = 1. The transfer function is expressed in terms of z, p, and k as

H(s)=k(sp(1))(sp(2))(sp(n)).

References

[1] Rabiner, L. R., and B. Gold. Theory and Application of Digital Signal Processing. Englewood Cliffs, NJ: Prentice-Hall, 1975, pp. 228–230.

Extended Capabilities

Version History

Introduced before R2006a