ptolemy.actor.lib
Class MovingAverage
java.lang.Object
ptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.actor.AtomicActor
ptolemy.actor.TypedAtomicActor
ptolemy.actor.lib.Transformer
ptolemy.actor.lib.MovingAverage
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
public class MovingAverage
- extends Transformer
This actor outputs the moving average of the input sequence.
The maximum number of prior inputs to be averaged is given by
the maxPastInputsToAverage parameter. The output is
the average of the all the previous inputs that have been
received if fewer than maxPastInputsToAverage have
been received, and the average of the previous
maxPastInputsToAverage inputs otherwise.
The input can be any data type that supports division
by a double.
- Since:
- Ptolemy II 6.1
- Version:
- $Id: MovingAverage.java,v 1.4 2007/12/06 21:56:30 cxh Exp $
- Author:
- Edward A. Lee
- See Also:
Token,
Serialized Form
- Accepted Rating:
- Proposed Rating:
|
Field Summary |
protected int |
_count
Count of the number of inputs received, bounded by the
size of the _data array. |
protected Token[] |
_data
The delay line. |
protected int |
_maxPastInputsToAverage
Maximum number of past inputs to average. |
protected int |
_mostRecent
The index into the delay line of the most recent input. |
protected boolean |
_reinitializeNeeded
Indicator that at least an attribute has been changed
since the last initialization. |
Parameter |
maxPastInputsToAverage
The maximum number of past inputs to average. |
| Fields inherited from class ptolemy.kernel.util.NamedObj |
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS |
|
Method Summary |
protected void |
_reinitialize()
Reinitialize local variables in response to changes in attributes. |
void |
attributeChanged(Attribute attribute)
Set a flag that causes recalculation of various local variables
that are used in execution on the next invocation of fire(). |
void |
fire()
Consume the inputs and produce the output. |
void |
initialize()
Perform domain-specific initialization by calling the
initialize(Actor) method of the director. |
boolean |
prefire()
Return false if the input does not have a token. |
| Methods inherited from class ptolemy.actor.AtomicActor |
_actorFiring, _actorFiring, _createReceivers, addActorFiringListener, addInitializable, clone, connectionsChanged, getDirector, getExecutiveDirector, getFunctionDependency, getManager, 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, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, attributeList, attributeList, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttributes, getChangeListeners, getClassName, getDerivedLevel, getDerivedList, getDisplayName, getFullName, getModelErrorHandler, getName, getName, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, 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 |
maxPastInputsToAverage
public Parameter maxPastInputsToAverage
- The maximum number of past inputs to average. This is an integer
that defaults to 10.
_data
protected Token[] _data
- The delay line.
_mostRecent
protected int _mostRecent
- The index into the delay line of the most recent input.
_count
protected int _count
- Count of the number of inputs received, bounded by the
size of the _data array.
_maxPastInputsToAverage
protected int _maxPastInputsToAverage
- Maximum number of past inputs to average.
_reinitializeNeeded
protected boolean _reinitializeNeeded
- Indicator that at least an attribute has been changed
since the last initialization.
MovingAverage
public MovingAverage(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
- Set a flag that causes recalculation of various local variables
that are used in execution on the next invocation of fire().
- Overrides:
attributeChanged in class NamedObj
- Parameters:
attribute - The attribute that changed.
- Throws:
IllegalActionException - If the attribute contains
an invalid value or if the super method throws it.
fire
public void fire()
throws IllegalActionException
- Consume the inputs and produce the output.
- Specified by:
fire in interface Executable- Overrides:
fire in class AtomicActor
- Throws:
IllegalActionException - If parameter values are invalid,
or if there is no director, or if runtime type conflicts occur.
prefire
public boolean prefire()
throws IllegalActionException
- Return false if the input does not have a token.
Otherwise, return what the superclass returns.
- Specified by:
prefire in interface Executable- Overrides:
prefire in class AtomicActor
- Returns:
- False if the number of input tokens available is not at least
equal to the decimation parameter.
- Throws:
IllegalActionException - If the superclass throws it.
initialize
public void initialize()
throws IllegalActionException
- Perform domain-specific initialization by calling the
initialize(Actor) method of the director. The director may
reject the actor by throwing an exception if the actor is
incompatible with the domain.
Set a flag that reinitializes the data buffer at the first firing.
- Specified by:
initialize in interface Initializable- Overrides:
initialize in class AtomicActor
- Throws:
IllegalActionException - If the superclass throws it.
_reinitialize
protected void _reinitialize()
throws IllegalActionException
- Reinitialize local variables in response to changes in attributes.
- Throws:
IllegalActionException - If there is a problem reinitializing.