ptolemy.actor.lib
Class GradientAdaptiveLattice
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.Lattice
ptolemy.actor.lib.GradientAdaptiveLattice
- 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 GradientAdaptiveLattice
- extends Lattice
An adaptive FIR filter with a lattice structure. This class extends
the base class to dynamically adapt the reflection coefficients to
minimize the power of the output sequence. The output reflection
coefficients are guaranteed to lie between -1.0 and 1.0, ensuring that the
resulting filter is a minimum phase linear predictor. The
reflectionCoefficients parameter is interpreted as the initial
coefficients.
- Since:
- Ptolemy II 4.0
- Version:
- $Id: GradientAdaptiveLattice.java 57040 2010-01-27 20:52:32Z cxh $
- Author:
- Steve Neuendorffer
- See Also:
- Serialized Form
- Accepted Rating:
- Proposed Rating:
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 |
_doFilter()
Compute the filter, updating the caches, based on the current
values. |
protected void |
_reallocate()
Reallocate the internal arrays. |
void |
attributeChanged(Attribute attribute)
Handle parameter change events on the
order and timeConstant parameters. |
java.lang.Object |
clone(Workspace workspace)
Clone the actor into the specified workspace. |
void |
initialize()
Initialize the state of the filter. |
boolean |
postfire()
Update the filter state. |
Methods inherited from class ptolemy.actor.AtomicActor |
_actorFiring, _actorFiring, addActorFiringListener, addInitializable, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, 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 |
adaptedReflectionCoefficients
public TypedIOPort adaptedReflectionCoefficients
- The output port that produces the current reflection
coefficients. The port is of type array of double.
timeConstant
public Parameter timeConstant
- The time constant of the filter, which determines how fast the
filter adapts.
The default value of this parameter is 1.0.
_alpha
private double _alpha
_oneMinusAlpha
private double _oneMinusAlpha
_estimatedErrorPower
private double[] _estimatedErrorPower
_estimatedErrorPowerCache
private double[] _estimatedErrorPowerCache
_reflectionCoefficientsCache
private double[] _reflectionCoefficientsCache
GradientAdaptiveLattice
public GradientAdaptiveLattice(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
- Handle parameter change events on the
order and timeConstant parameters. The
filter state vector is reinitialized to zero state.
- Overrides:
attributeChanged
in class Lattice
- Parameters:
attribute
- The attribute that changed.
- Throws:
IllegalActionException
- If this method is invoked
with an unrecognized parameter.
clone
public java.lang.Object clone(Workspace workspace)
throws java.lang.CloneNotSupportedException
- Clone the actor into the specified workspace. This calls the
base class and then sets the type constraints.
- Overrides:
clone
in class Lattice
- Parameters:
workspace
- The workspace for the new object.
- Returns:
- A new actor.
- Throws:
java.lang.CloneNotSupportedException
- If a derived class has
an attribute that cannot be cloned.- See Also:
NamedObj.exportMoML(Writer, int, String)
,
NamedObj.setDeferringChangeRequests(boolean)
initialize
public void initialize()
throws IllegalActionException
- Initialize the state of the filter.
- Specified by:
initialize
in interface Initializable
- Overrides:
initialize
in class Lattice
- Throws:
IllegalActionException
- If a derived class throws it.
postfire
public boolean postfire()
throws IllegalActionException
- Update the filter state.
- Specified by:
postfire
in interface Executable
- Overrides:
postfire
in class Lattice
- Returns:
- False if the number of iterations matches the number requested.
- Throws:
IllegalActionException
- If the base class throws it.
_doFilter
protected void _doFilter()
throws IllegalActionException
- Description copied from class:
Lattice
- Compute the filter, updating the caches, based on the current
values.
- Overrides:
_doFilter
in class Lattice
- Throws:
IllegalActionException
- Not thrown in this base class.
_reallocate
protected void _reallocate()
- Description copied from class:
Lattice
- Reallocate the internal arrays.
- Overrides:
_reallocate
in class Lattice