|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.oregondsp.signalProcessing.filter.iir.IIRFilter
public class IIRFilter
Class to implement an Infinite Impulse Response digital filter. Implements the filter as a cascade of second-order sections. The filter is obtained using a bilinear transformation of a prototype analog filter. This implementation saves internal states from one invocation of the filter methods to the next allowing continuous processing of real time data streams or very large files in consecutive, contiguous blocks.
Constructor Summary | |
---|---|
IIRFilter(AnalogPrototype baseFilter,
PassbandType type,
double f1,
double f2,
double delta)
Instantiates a new IIR filter. |
Method Summary | |
---|---|
Complex |
evaluate(double Omega)
Evaluates the transfer function of this IIR filter at a specified discrete time frequency. |
float |
filter(float x)
Filters a single sample of a sequence. |
void |
filter(float[] x)
Filters an array of sequence samples in-place. |
void |
filter(float[] x,
float[] y)
Filters an array of sequence samples. |
double |
groupDelay(double Omega)
Computes the group delay of the IIR filter at a specified discrete time frequency. |
void |
initialize()
Initializes the states of the filter, i.e. |
void |
print(java.io.PrintStream ps)
Prints the coefficients and states of this IIR filter, section by section. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public IIRFilter(AnalogPrototype baseFilter, PassbandType type, double f1, double f2, double delta)
baseFilter
- The AnalogPrototype for this digital filter.type
- PassbandType object specifying lowpass, highpass or bandpass type response.f1
- double specifying the low cutoff frequency - used by highpass and bandpass types.f2
- double specifying the high cutoff frequency - used by lowpass and bandpass types.delta
- double specifying the sampling interval for which the filter is designed.Method Detail |
---|
public void initialize()
public float filter(float x)
x
- float containing the sequence sample.
public void filter(float[] x, float[] y)
x
- float[] containing samples of the sequence to be filtered.y
- float[] containing samples of the resulting filtered sequence.public void filter(float[] x)
x
- float[] contains samples of the sequence to be filtered upon call and the filtered
samples following executionpublic Complex evaluate(double Omega)
Omega
- double containing the discrete frequency (in [0, pi]) for evaluation of the transfer function.
public double groupDelay(double Omega)
Omega
- double containing the discrete frequency (in [0, pi]) for evaluation of the group delay.
public void print(java.io.PrintStream ps)
ps
- PrintStream object to which this filters coefficients and states are printed.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |