public class FilterOnePoleOneZero extends UnitFilter
y(n) = A0*x(n) + A1*x(n-1) - B1*y(n-1)where y(n) is Output, x(n) is Input, x(n-1) is a delayed copy of the input, and y(n-1) is a delayed copy of the output. This filter is a recursive IIR or Infinite Impulse Response filter. it can be unstable depending on the values of the coefficients. A thorough description of the digital filter theory needed to fully describe this filter is beyond the scope of this document. Calculating coefficients is non-intuitive; the interested user is referred to one of the standard texts on filter theory (e.g., Moore, "Elements of Computer Music", section 2.4).
FilterLowPass| Modifier and Type | Field and Description |
|---|---|
UnitVariablePort |
a0 |
UnitVariablePort |
a1 |
UnitVariablePort |
b1 |
input, outputFALSE, TRUE| Constructor and Description |
|---|
FilterOnePoleOneZero() |
| Modifier and Type | Method and Description |
|---|---|
void |
generate(int start,
int limit)
Perform essential synthesis function.
|
getInput, getOutputaddPort, addPort, convertHalfLifeToMultiplier, flattenOutputs, generate, getCircuit, getFramePeriod, getFrameRate, getPortByName, getPorts, getSynthesisEngine, getSynthesizer, getTopUnit, getUnitGenerator, isEnabled, pullData, setCircuit, setEnabled, setFrameRate, setPort, setSynthesisEngine, start, start, stop, stopequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetUnitGenerator, start, start, stop, stopgetUnitGeneratorpublic UnitVariablePort a0
public UnitVariablePort a1
public UnitVariablePort b1
public void generate(int start,
int limit)
UnitGeneratorgenerate in class UnitGeneratorstart - offset into port bufferslimit - limit offset into port buffers for loop