Bessel analog lowpass filter prototype
[z,p,k] = besselap(n)
[z,p,k] = besselap(n) returns the poles and gain of an order-n Bessel analog lowpass filter prototype. n must be less than or equal to 25. The function returns the poles in the length n column vector p and the gain in scalar k. z is an empty matrix because there are no zeros. The transfer function is
besselap 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 . The magnitude of the filter is less than at the unity cutoff frequency Ωc = 1.
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
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
 Rabiner, L. R., and B. Gold. Theory and Application of Digital Signal Processing. Englewood Cliffs, NJ: Prentice-Hall, 1975, pp. 228–230.