scipy.signal.besselap¶
- scipy.signal.besselap(N, norm='phase')[source]¶
Return (z,p,k) for analog prototype of an Nth-order Bessel filter.
Parameters: N : int
The order of the filter.
norm : {‘phase’, ‘delay’, ‘mag’}, optional
Frequency normalization:
- phase
The filter is normalized such that the phase response reaches its midpoint at an angular (e.g. rad/s) cutoff frequency of 1. This happens for both low-pass and high-pass filters, so this is the “phase-matched” case. [R185]
The magnitude response asymptotes are the same as a Butterworth filter of the same order with a cutoff of Wn.
This is the default, and matches MATLAB’s implementation.
- delay
The filter is normalized such that the group delay in the passband is 1 (e.g. 1 second). This is the “natural” type obtained by solving Bessel polynomials
- mag
The filter is normalized such that the gain magnitude is -3 dB at angular frequency 1. This is called “frequency normalization” by Bond. [R180]
New in version 0.18.0.
Returns: z : ndarray
Zeros of the transfer function. Is always an empty array.
p : ndarray
Poles of the transfer function.
k : scalar
Gain of the transfer function. For phase-normalized, this is always 1.
See also
- bessel
- Filter design function using this prototype
Notes
To find the pole locations, approximate starting points are generated [R181] for the zeros of the ordinary Bessel polynomial [R182], then the Aberth-Ehrlich method [R183] [R184] is used on the Kv(x) Bessel function to calculate more accurate zeros, and these locations are then inverted about the unit circle.
References
[R180] (1, 2) C.R. Bond, “Bessel Filter Constants”, http://www.crbond.com/papers/bsf.pdf [R181] (1, 2) Campos and Calderon, “Approximate closed-form formulas for the zeros of the Bessel Polynomials”, arXiv:1105.0957 [math-ph], http://arxiv.org/abs/1105.0957 [R182] (1, 2) Thomson, W.E., “Delay Networks having Maximally Flat Frequency Characteristics”, Proceedings of the Institution of Electrical Engineers, Part III, November 1949, Vol. 96, No. 44, pp. 487-490. [R183] (1, 2) Aberth, “Iteration Methods for Finding all Zeros of a Polynomial Simultaneously”, Mathematics of Computation, Vol. 27, No. 122, April 1973 [R184] (1, 2) Ehrlich, “A modified Newton method for polynomials”, Communications of the ACM, Vol. 10, Issue 2, pp. 107-108, Feb. 1967, DOI:10.1145/363067.363115 [R185] (1, 2) Miller and Bohn, “A Bessel Filter Crossover, and Its Relation to Others”, RaneNote 147, 1998, http://www.rane.com/note147.html