Learn R Programming

gsignal (version 0.3-7)

besselap: Bessel analog low-pass filter prototype

Description

Return the poles and gain of a Bessel analog low-pass filter prototype.

Usage

besselap(n)

Value

List of class Zpg containing poles and gain of the filter

Arguments

n

order of the filter; must be < 25.

Author

Thomas Sailer, t.sailer@alumni.ethz.ch.
Conversion to R by Geert van Boxtel, G.J.M.vanBoxtel@gmail.com.

Details

The transfer function is


                     k
 H(s) = -----------------------------
         (s-p(1))(s-p(2))...(s-p(n))
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 \(1/\sqrt{2}\) at the unity cutoff frequency \(\Omega_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


   /  (2n!) \ 2
   | ------ |
   \ 2^n n! /

References

https://en.wikipedia.org/wiki/Bessel_polynomials

Examples

Run this code
## 6th order Bessel low-pass analog filter
zp <- besselap(6)
w <- seq(0, 4, length.out = 128)
freqs(zp, w)

Run the code above in your browser using DataLab