edu.mines.jtk.dsp
Class ButterworthFilter

java.lang.Object
  extended by edu.mines.jtk.dsp.RecursiveCascadeFilter
      extended by edu.mines.jtk.dsp.ButterworthFilter

public class ButterworthFilter
extends RecursiveCascadeFilter

Butterworth filter.

Version:
2005.04.10
Author:
Dave Hale, Colorado School of Mines

Nested Class Summary
static class ButterworthFilter.Type
          Filter type.
 
Constructor Summary
ButterworthFilter(double fl, double al, double fh, double ah)
          Construct a Butterworth filter with specified parameters.
ButterworthFilter(double fc, int np, ButterworthFilter.Type type)
          Construct Butterworth filter with specified parameters.
 
Method Summary
 
Methods inherited from class edu.mines.jtk.dsp.RecursiveCascadeFilter
apply1Forward, apply1Forward, apply1ForwardReverse, apply1ForwardReverse, apply1Reverse, apply1Reverse, apply2Forward, apply2Forward, apply2ForwardReverse, apply2ForwardReverse, apply2Reverse, apply2Reverse, apply3Forward, apply3ForwardReverse, apply3Reverse, applyForward, applyForwardReverse, applyReverse, init
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ButterworthFilter

public ButterworthFilter(double fl,
                         double al,
                         double fh,
                         double ah)
Construct a Butterworth filter with specified parameters. The filter is specified by amplitudes at two frequencies. The frequencies are in normalized units of cycles/sample. Either a low-pass or high-pass filter is constructed, depending on which of the corresponding two amplitudes is smaller. The filter is designed to match the larger (pass band) amplitude exactly, but may have amplitude lower than the smaller (reject band) amplitude.

Parameters:
fl - the low frequency at which the amplitude al is specified. The low frequency fl must be greater than 0.0 and less than fh.
al - the amplitude at the specified low frequency fl. The amplitude al must be greater than 0.0, less than 1.0, and not equal to the amplitude ah.
fh - the high frequency at which the amplitude ah is is specified. The high frequency fh must be less than 0.5 and greater than fl.
ah - the amplitude at the specified high frequency fh. The amplitude ah must be greater than 0.0, less than 1.0, and not equal to the amplitude al.

ButterworthFilter

public ButterworthFilter(double fc,
                         int np,
                         ButterworthFilter.Type type)
Construct Butterworth filter with specified parameters.

Parameters:
fc - the cutoff (half-power) frequency, in cycles per sample. At this cutuff frequency, the filter amplitude squared equals 0.5. The cutoff frequency must be greater than 0.0 and less than 0.5.
np - the number of poles in the recursive filter.
type - the filter type.