public class SchmidtTrigger extends UnitFilter
Output logic level value with hysteresis. Transition high when input exceeds setLevel. Only go low when input is below resetLevel. This can be used to reject low level noise on the input signal. The default values for setLevel and resetLevel are both 0.0. Setting setLevel to 0.1 and resetLevel to -0.1 will give some hysteresis. The outputPulse is a single sample wide pulse set when the output transitions from low to high.
if (output == 0.0) output = (input > setLevel) ? 1.0 : 0.0; else if (output > 0.0) output = (input <= resetLevel) ? 0.0 : 1.0; else output = previous_output;
Compare
Modifier and Type | Field and Description |
---|---|
UnitOutputPort |
outputPulse |
UnitInputPort |
resetLevel |
UnitInputPort |
setLevel |
input, output
FALSE, PORT_NAME_AMPLITUDE, PORT_NAME_CUTOFF, PORT_NAME_FREQUENCY, PORT_NAME_FREQUENCY_SCALER, PORT_NAME_INPUT, PORT_NAME_OUTPUT, PORT_NAME_PAN, PORT_NAME_PHASE, PORT_NAME_PRESSURE, PORT_NAME_TIMBRE, PORT_NAME_TIME, synthesisEngine, TRUE, VERY_SMALL_FLOAT
Constructor and Description |
---|
SchmidtTrigger() |
Modifier and Type | Method and Description |
---|---|
void |
generate(int start,
int limit)
Perform essential synthesis function.
|
getInput, getOutput
addPort, addPort, autoStop, convertHalfLifeToMultiplier, convertTimeToRate, flattenOutputs, generate, getCircuit, getFramePeriod, getFrameRate, getId, getPortByName, getPorts, getSynthesisEngine, getSynthesizer, getTopUnit, getUnitGenerator, incrementWrapPhase, isEnabled, isStartRequired, printConnections, printConnections, printConnections, pullData, setCircuit, setEnabled, setFrameRate, setPort, setSynthesisEngine, start, start, start, stop, stop, stop
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getUnitGenerator, start, start, stop, stop
getUnitGenerator
public UnitInputPort setLevel
public UnitInputPort resetLevel
public UnitOutputPort outputPulse
public void generate(int start, int limit)
UnitGenerator
generate
in class UnitGenerator
start
- offset into port bufferslimit
- limit offset into port buffers for loop