cz.cuni.jagrlib.piece
Class Filter1DNotch

java.lang.Object
  extended by cz.cuni.jagrlib.DefaultProperty
      extended by cz.cuni.jagrlib.Piece
          extended by cz.cuni.jagrlib.piece.Filter1DNotch
All Implemented Interfaces:
Breakable, Filter1D, Property, Template

public class Filter1DNotch
extends Piece
implements Filter1D

Audio filter - notch filter (very-narrow-band suppression).

Since:
0.25
See Also:
Filter1DNotch.java

Field Summary
protected  double a1
          Coef for y[i-1].
protected  double a2
          Coef for y[i-2].
protected  double b1
          Coef for x[i-1].
protected static java.lang.String CATEGORY
          Object category.
protected  double frequency
          Suppressed frequency in Hz.
static java.lang.String FREQUENCY
           
protected  int channels
          Number of channels to be processed.
static RegPiece reg
          Static registration instance for this class.
protected  double sampleRate
          Sample rate in Hz.
protected static java.lang.String TEMPLATE_NAME
          Object template identifier.
protected  double unity
          Unity (quality measure).
static java.lang.String UNITY
           
protected  int windowPtr
          Index into xWindow and yWindow arrays.
protected  double[][] xWindow
          History windows for each channel (input data).
protected  double[][] yWindow
          History windows for each channel (output data).
 
Fields inherited from class cz.cuni.jagrlib.Piece
info, pl, plugs, TEMPLATE_TYPE, userBreak
 
Fields inherited from interface cz.cuni.jagrlib.iface.Filter1D
IND_BYTES_PER_SAMPLE, IND_FREQUENCY, IND_CHANNELS, IND_SAMPLES
 
Fields inherited from interface cz.cuni.jagrlib.iface.Property
LOGGING, STATISTICS, TEXT_DESCRIPTION
 
Fields inherited from interface cz.cuni.jagrlib.Template
ALL_PLUGS, C_1D, C_2D, C_3D, C_ALPHA, C_BINARY, C_BREP, C_CAMERA, C_CIRCLE, C_CLIP, C_COMPRESSION, C_CURVE, C_DATA, C_DRAW, C_EDITOR, C_ELLIPSE, C_FILL, C_FILTER, C_FLOAT, C_FUNCTION, C_IMAGE, C_INTEGER, C_IO, C_LIGHT, C_LINE, C_METRIC, C_POLYGON, C_PROJECTION, C_RADIOSITY, C_RASTER, C_RENDER, C_SAMPLE, C_SCENE, C_SET, C_SOLID, C_TEXT, C_TRANSFORM, C_VECTOR, C_VIEWER, C_WORKER, CAT_EMPTY, EMPTY, IFACE, JAGRLIB, JAGRLIB2, MANIPULATOR_COMBO, MANIPULATOR_CUSTOM, MANIPULATOR_DEFAULT, MANIPULATOR_MULTILINE, PL_ALPHAMASK, PL_BITMASK, PL_CAUSTIC, PL_CODEC, PL_COLORMAP, PL_COMPARE, PL_DATA, PL_DIRECT, PL_EDITOR, PL_FILTER, PL_FUNCTION, PL_IMAGE, PL_IMPORT, PL_INPUT, PL_INTERSECTION, PL_LIGHTSOURCE, PL_ORDER, PL_OUTPUT, PL_PALETTE, PL_PHOTON, PL_PROPERTY, PL_QUANTIZER, PL_RASTER, PL_RENDER, PL_SHADOW, PL_STREAM, PL_TRANSFORM, PL_TRIGGER, PL_VOLUME, PL_WINDOW, TYPE_BOOLEAN, TYPE_DOUBLE, TYPE_FLOAT, TYPE_INTEGER, TYPE_LONG, TYPE_OBJECT, TYPE_STRING
 
Constructor Summary
Filter1DNotch()
           
 
Method Summary
 int batch(double[] source, int sourceSamples, double[] target)
          Processes one sample batch in double format.
 int batch(int[] source, int sourceSamples, int[] target)
          Processes one sample batch in integer format.
 boolean format(int[] source, int[] target)
          Defines format modifications.
 java.lang.Object get(java.lang.String key)
          Gets the given property.
protected  double nextSample(double x, int channel)
          Computes next sample.
 void reset()
          Starts a new data pass.
 void set(java.lang.String key, java.lang.Object value)
          Sets the given property.
static int setTemplate(Template t, int ord)
          General-purpose registration routine.
 
Methods inherited from class cz.cuni.jagrlib.Piece
className, connect, findPlug, findPlug, getInfo, getInterface, getInterface, getPlug, getReg, init, isCompatible, isCompatible, isConnected, logError, logWarning, myInterface, newInputPlug, newOptOutputPlug, newOutputPlug, newPlug, noTemplates, propBegin, propBounds, propDefault, propEnd, propEnum, propManipulator, propManipulator, setProgressListener, setRegStrings, setTemplateDynamic, stop
 
Methods inherited from class cz.cuni.jagrlib.DefaultProperty
booleanProperty, booleanProperty, colorDoubleProperty, colorProperty, commit, doubleProperty, doubleProperty, doubleProperty, enumProperty, floatProperty, floatProperty, floatProperty, intProperty, intProperty, intProperty, longProperty, longProperty, longProperty, set, stringProperty
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface cz.cuni.jagrlib.iface.Property
commit
 

Field Detail

frequency

protected double frequency
Suppressed frequency in Hz.


unity

protected double unity
Unity (quality measure).


sampleRate

protected double sampleRate
Sample rate in Hz.


channels

protected int channels
Number of channels to be processed.


xWindow

protected double[][] xWindow
History windows for each channel (input data).


yWindow

protected double[][] yWindow
History windows for each channel (output data).


windowPtr

protected int windowPtr
Index into xWindow and yWindow arrays.


b1

protected double b1
Coef for x[i-1].


a1

protected double a1
Coef for y[i-1].


a2

protected double a2
Coef for y[i-2].


FREQUENCY

public static final java.lang.String FREQUENCY
See Also:
Constant Field Values

UNITY

public static final java.lang.String UNITY
See Also:
Constant Field Values

TEMPLATE_NAME

protected static final java.lang.String TEMPLATE_NAME
Object template identifier.

See Also:
Constant Field Values

CATEGORY

protected static final java.lang.String CATEGORY
Object category.

See Also:
Constant Field Values

reg

public static final RegPiece reg
Static registration instance for this class. Automatically initialized in class-loading time.

Constructor Detail

Filter1DNotch

public Filter1DNotch()
Method Detail

nextSample

protected double nextSample(double x,
                            int channel)
Computes next sample.

Parameters:
x - Input sample (xi).
channel - Channel number.
Returns:
Filtered sample (yi).

format

public boolean format(int[] source,
                      int[] target)
Defines format modifications. Sets input sample format for subsequent batch(double[], int, double[]) calls.

Specified by:
format in interface Filter1D
Parameters:
source - Source audio format (channels, bytes-per-sample, samples, frequency).
target - Target audio format (channels, bytes-per-sample, samples, frequency).
Returns:
true if any format changes will be made (false => format identity).
See Also:
batch(double[],int,double[]), batch(int[],int,int[])

reset

public void reset()
Starts a new data pass.

Specified by:
reset in interface Filter1D
See Also:
batch(double[],int,double[]), batch(int[],int,int[])

batch

public int batch(double[] source,
                 int sourceSamples,
                 double[] target)
Processes one sample batch in double format. Sample ordering in case of multi-channel data: channel0[0], channel1[0], .. channelN[0], channel0[1], ...

Specified by:
batch in interface Filter1D
Parameters:
source - Source data array.
sourceSamples - Number of source time-slots.
target - Target data array.
Returns:
Number of target time-slots.
See Also:
format(int[], int[]), batch(int[],int,int[])

batch

public int batch(int[] source,
                 int sourceSamples,
                 int[] target)
Processes one sample batch in integer format. Sample ordering in case of multi-channel data: channel0[0], channel1[0], .. channelN[0], channel0[1], ...

Specified by:
batch in interface Filter1D
Parameters:
source - Source data array.
sourceSamples - Number of source time-slots.
target - Target data array.
Returns:
Number of target time-slots.
See Also:
format(int[], int[]), batch(double[],int,double[])

set

public void set(java.lang.String key,
                java.lang.Object value)
Sets the given property.

Specified by:
set in interface Property
Overrides:
set in class DefaultProperty
Parameters:
key - Key string.
value - The new value.
See Also:
Property.commit()

get

public java.lang.Object get(java.lang.String key)
Gets the given property.

Specified by:
get in interface Property
Overrides:
get in class DefaultProperty
Parameters:
key - Key string.
Returns:
The actual value or null.

setTemplate

public static int setTemplate(Template t,
                              int ord)
General-purpose registration routine. Sets all plugs, strings, etc. to the given Template.