EquirippleFilterKernel

EquirippleFilterKernel[{{{ωL1,ωR1},{ωL2,ωR2},},{a1,a2,}},n]

creates a finite impulse response (FIR) filter kernel of length n with an equiripple amplitude response, given the specified left and right band edge frequencies {ωLi,ωRi} and amplitudes ai.

EquirippleFilterKernel[{{{ωL1,ωR1},{ωL2,ωR2},},{a1,a2,},{w1,}},n]

uses relative weights wi for each frequency band.

EquirippleFilterKernel[{"type",{{{ωL1,ωR1},},},n]

creates a filter of the specified "type".

Details and Options

  • EquirippleFilterKernel returns a numeric list of length n of the impulse response coefficients of an FIR filter that has the minimum Chebyshev (minimax) error.
  • Possible filter specification types are:
  • "Multiband"multiple passband and stopband filter specification (default)
    "Differentiator"differentiator filter
    "Hilbert"Hilbert filter
  • Frequencies should be given in an ascending order such that 0ωL1<ωR1<ωL2<ωR2<<ωRkπ.
  • The lengths of the lists of frequency bands, amplitudes, and weights should be the same.
  • Amplitude values should be non-negative. Typically, values ai=0 specify a stopband, and values ai=1 specify a passband.
  • The kernel ker returned by EquirippleFilterKernel can be used in ListConvolve[ker,data] to apply the filter to data.
  • The following options can be given:
  • "GridDensity"8frequency domain sampling density factor
    WorkingPrecisionMachinePrecisionprecision to use in internal computations

Examples

open allclose all

Basic Examples  (1)

Length-15 equiripple lowpass kernel:

In[2]:=
Click for copyable input
Out[2]=

Magnitude plot of the filter:

In[2]:=
Click for copyable input
Out[2]=

A Bode plot of the filter's frequency spectrum:

In[5]:=
Click for copyable input
Out[5]=

Scope  (6)

Options  (1)

Applications  (2)

Properties & Relations  (2)

Possible Issues  (4)

See Also

FrequencySamplingFilterKernel  LeastSquaresFilterKernel  ListConvolve  InverseFourierSequenceTransform  ListFourierSequenceTransform

Introduced in 2012
(9.0)