org.tritonus.lowlevel.dsp
Class FilterDesign

java.lang.Object
  extended by org.tritonus.lowlevel.dsp.FilterDesign

public class FilterDesign
extends java.lang.Object

Several methods to design digital filters. This is a design method for FIR filters.


Field Summary
static int WINDOW_HAMMING
           
static int WINDOW_RECTANGULAR
           
static int WINDOW_UNKNOWN
           
 
Constructor Summary
FilterDesign()
           
 
Method Summary
static double[] designFrequencySampling(double[] adFrequencyResponse)
          Filter design by frequency sampling.
static double[] designRectangularBandPass(int nOrder, double dCornerOmega1, double dCornerOmega2)
          nOrder should be odd.
static double[] designRectangularBandStop(int nOrder, double dCornerOmega1, double dCornerOmega2)
          nOrder should be odd.
static double[] designRectangularHighPass(int nOrder, double dCornerOmega)
          nOrder should be odd.
static double[] designRectangularLowPass(int nOrder, double dCornerOmega)
          nOrder should be odd.
static double[] designWindowBandPass(int nOrder, double dCornerOmega1, double dCornerOmega2, int nWindow)
           
static double[] designWindowBandPass(int nOrder, double dCornerOmega1, double dCornerOmega2, Window window)
           
static double[] designWindowBandStop(int nOrder, double dCornerOmega1, double dCornerOmega2, int nWindow)
           
static double[] designWindowBandStop(int nOrder, double dCornerOmega1, double dCornerOmega2, Window window)
           
static double[] designWindowHighPass(int nOrder, double dCornerOmega, int nWindow)
           
static double[] designWindowHighPass(int nOrder, double dCornerOmega, Window window)
           
static double[] designWindowLowPass(int nOrder, double dCornerOmega, int nWindow)
           
static double[] designWindowLowPass(int nOrder, double dCornerOmega, Window window)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

WINDOW_UNKNOWN

public static final int WINDOW_UNKNOWN
See Also:
Constant Field Values

WINDOW_RECTANGULAR

public static final int WINDOW_RECTANGULAR
See Also:
Constant Field Values

WINDOW_HAMMING

public static final int WINDOW_HAMMING
See Also:
Constant Field Values
Constructor Detail

FilterDesign

public FilterDesign()
Method Detail

designFrequencySampling

public static double[] designFrequencySampling(double[] adFrequencyResponse)
Filter design by frequency sampling. This is a design method for FIR filters. It allows to design filters with arbitrary frequency response.


designRectangularLowPass

public static double[] designRectangularLowPass(int nOrder,
                                                double dCornerOmega)
nOrder should be odd.


designRectangularHighPass

public static double[] designRectangularHighPass(int nOrder,
                                                 double dCornerOmega)
nOrder should be odd.


designRectangularBandPass

public static double[] designRectangularBandPass(int nOrder,
                                                 double dCornerOmega1,
                                                 double dCornerOmega2)
nOrder should be odd. o1 < o2 required


designRectangularBandStop

public static double[] designRectangularBandStop(int nOrder,
                                                 double dCornerOmega1,
                                                 double dCornerOmega2)
nOrder should be odd.


designWindowLowPass

public static double[] designWindowLowPass(int nOrder,
                                           double dCornerOmega,
                                           int nWindow)

designWindowHighPass

public static double[] designWindowHighPass(int nOrder,
                                            double dCornerOmega,
                                            int nWindow)

designWindowBandPass

public static double[] designWindowBandPass(int nOrder,
                                            double dCornerOmega1,
                                            double dCornerOmega2,
                                            int nWindow)

designWindowBandStop

public static double[] designWindowBandStop(int nOrder,
                                            double dCornerOmega1,
                                            double dCornerOmega2,
                                            int nWindow)

designWindowLowPass

public static double[] designWindowLowPass(int nOrder,
                                           double dCornerOmega,
                                           Window window)

designWindowHighPass

public static double[] designWindowHighPass(int nOrder,
                                            double dCornerOmega,
                                            Window window)

designWindowBandPass

public static double[] designWindowBandPass(int nOrder,
                                            double dCornerOmega1,
                                            double dCornerOmega2,
                                            Window window)

designWindowBandStop

public static double[] designWindowBandStop(int nOrder,
                                            double dCornerOmega1,
                                            double dCornerOmega2,
                                            Window window)