<series> output = <series>.filterIIR(<string> Class Type , <number> Order, <number> Passband Ripple, <number> Attenuation, <string> Response, <number> Cutoff Frequency 1, <number> Cutoff Frequency 2)
This function applies infinite impulse response filters to the input data. Depending on the Class Type, not all arguments are used. This function allows Low Pass (“LP”), High Pass (“HP”), Band Pass (“BP”), or Band Stop (“BS”) responses. For class types, specify “Bessel”, “Butterworth”, Chebyshev”, “InverseChebyshev”, or “Elliptic”. These classes are used as follows:
Has the slowest rolloff and requires the highest order to meet an attenuation
specification. This class does not use the Passband Ripple or Attenuation
arguments. They will be ignored, but must be
supplied.
Example:
var mySeriesB = mySeriesA.filterIIR(“Bessel”, 4, 0, 0, “LP”, 500, 750);
Maximally flat in the passband and stopband, but has a transition region that
is less steep than the other filters. This class does not use the Passband
Ripple or Attenuation arguments. They will be ignored, but must be
supplied.
Example:
var mySeriesB = mySeriesA.filterIIR(“Butterworth”, 3, 0, 0, “HP”, 500, 750);
Achieves a steeper transition region by allowing ripple in the passband. The
stopband is maximally flat. This class does not use the Attenuation
argument. It will be ignored, but must be
supplied.
Example:
var mySeriesB = mySeriesA.filterIIR(“Chebyshev”, 3, 50, 0, “LP”, 500, 750);
Achieves a steeper transition region by allowing ripple in the stopband. The
passband is maximally flat. This class does not use the Passband Ripple
argument. It will be ignored, but must be
supplied.
Example:
var mySeriesB = mySeriesA.filterIIR(“InverseChebyshev”, 3, 0, 40, “HP”, 500, 750);
Minimizes the transition width by allowing ripple in the both the passband
and the stopband. This class generally meets filter requirements with the lowest
order. This class uses all arguments.
Example:
var mySeriesB = mySeriesA.filterIIR(“Elliptic”, 3, 50, 40, “HP”, 500, 750);