public class BesselFilterDesign extends Object
| Modifier and Type | Method and Description |
|---|---|
static double |
computeGain(double[] polyCoeffs,
double w)
Computes the normalized gain of a Bessel filter at a given frequency.
|
static Complex[] |
computePoles(int n)
Returns the frequency normalized s-plane poles for a Bessel filter.
|
static double[] |
computePolynomialCoefficients(int n)
Returns the polynomial coefficients for the Bessel polynomial of the given order.
|
static double |
findFrequencyForGain(double[] polyCoeffs,
double gain)
This method uses appoximation to find the frequency for a given gain.
|
static double |
findFrequencyScalingFactor(double[] polyCoeffs)
Returns the frequency normalization scaling factor for a Bessel filter.
|
static Complex |
transferFunction(double[] polyCoeffs,
Complex s)
Evaluates the transfer function of a Bessel filter.
|
public static double[] computePolynomialCoefficients(int n)
Reference: Wikipedia.
n - The order of the polynomial.a[] with the coefficients, ordered in descending powers, for:
a[0] * x^n + a[1] * x^(n-1) + ... a[n-1] * x + a[n] public static Complex transferFunction(double[] polyCoeffs, Complex s)
polyCoeffs - Coefficients of the reverse Bessel polynomial.s - Complex frequency.public static double computeGain(double[] polyCoeffs,
double w)
polyCoeffs - Coefficients of the reverse Bessel polynomial.w - Relative frequency.public static double findFrequencyForGain(double[] polyCoeffs,
double gain)
If anyone knows a better way than approximation to find the 3dB cuttoff frequency, please let me know (chdh@inventec.ch).
polyCoeffs - Coefficients of the reverse Bessel polynomial.gain - A normalized gain.public static double findFrequencyScalingFactor(double[] polyCoeffs)
polyCoeffs - Coefficients of the reverse Bessel polynomial.public static Complex[] computePoles(int n)
n - The filter order.