ptolemy.domains.sdf.lib
Class DownSample
java.lang.Object
ptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.actor.AtomicActor
ptolemy.actor.TypedAtomicActor
ptolemy.domains.sdf.lib.SDFTransformer
ptolemy.domains.sdf.lib.DownSample
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, SequenceActor, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
public class DownSample
- extends SDFTransformer
This actor downsamples an input stream by an integer factor by
removing tokens. The downsample factor is given by the factor
parameter. On each firing, this actor consumes factor tokens from the
input and sends only one of them to the output. The one sent
depends on the phase parameter. If phase is 0, then
the most recent one (the last one consumed) is sent. If phase
is 1, then the next most recent one is sent. The value of phase
can range up to factor-1, in which case the first one consumed
is sent. By default, the factor parameter is 2,
so the input sample rate is twice that of the output.
The default value for phase is 0.
This actor is data polymorphic. It can accept any token
type on the input.
- Since:
- Ptolemy II 1.0
- Version:
- $Id: DownSample.java 57040 2010-01-27 20:52:32Z cxh $
- Author:
- Steve Neuendorffer, Edward A. Lee
- See Also:
UpSample
,
Serialized Form
- Accepted Rating:
- Proposed Rating:
Field Summary |
Parameter |
factor
The number of input tokens to read per output token produced. |
Parameter |
phase
The phase of the output with respect to the input. |
Fields inherited from class ptolemy.kernel.util.NamedObj |
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS |
Constructor Summary |
DownSample(CompositeEntity container,
java.lang.String name)
Construct an actor with the given container and name. |
Method Summary |
void |
attributeChanged(Attribute attribute)
Ensure that the factor and phase parameters are both positive. |
void |
fire()
Consume factor tokens from the input, and select one of
them to send to the output based on the phase. |
Methods inherited from class ptolemy.actor.AtomicActor |
_actorFiring, _actorFiring, addActorFiringListener, addInitializable, clone, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, initialize, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, postfire, preinitialize, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, setContainer, stop, stopFire, terminate, wrapup |
Methods inherited from class ptolemy.kernel.ComponentEntity |
_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName |
Methods inherited from class ptolemy.kernel.Entity |
_description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName |
Methods inherited from class ptolemy.kernel.util.NamedObj |
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _debug, _debug, _debug, _debug, _debug, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _propagateValue, _recordDecoratedAttributes, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, attributeList, attributeList, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getFullName, getModelErrorHandler, getName, getName, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, propagateValue, propagateValues, removeChangeListener, removeDebugListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspace |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
factor
public Parameter factor
- The number of input tokens to read per output token produced.
This is an integer that defaults to 2 and must be greater than
zero.
phase
public Parameter phase
- The phase of the output with respect to the input.
This is an integer that defaults to 0 and must be between 0
and factor-1. If phase = 0, the most recent
sample is the output, while if phase = factor-1
the oldest sample is the output.
DownSample
public DownSample(CompositeEntity container,
java.lang.String name)
throws NameDuplicationException,
IllegalActionException
- Construct an actor with the given container and name.
- Parameters:
container
- The container.name
- The name of this actor.
- Throws:
IllegalActionException
- If the actor cannot be contained
by the proposed container.
NameDuplicationException
- If the container already has an
actor with this name.
attributeChanged
public void attributeChanged(Attribute attribute)
throws IllegalActionException
- Ensure that the factor and phase parameters are both positive.
- Overrides:
attributeChanged
in class NamedObj
- Parameters:
attribute
- The attribute that has changed.
- Throws:
IllegalActionException
- If the parameters are out of range.
fire
public void fire()
throws IllegalActionException
- Consume factor tokens from the input, and select one of
them to send to the output based on the phase.
- Specified by:
fire
in interface Executable
- Overrides:
fire
in class AtomicActor
- Throws:
IllegalActionException
- If there is no director, or
if the phase value is out of range.