ptolemy.actor.lib
Class Rician
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.Source
ptolemy.actor.lib.RandomSource
ptolemy.actor.lib.Rician
- 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 Rician
- extends RandomSource
Produce a random sequence with a Rician distribution.
A Rician random variable is defined as follows:
Let Z = sqrt(X2 + Y2), where X and Y are statistically
independent Gaussian random variables with means given by parameters
xMean and yMean respectively, and common variance given by
parameter standardDeviation.
The default values of xMean and yMean are both set to be zero,
in which the distribution is also called a Rayleigh distribution. Hence,
the actor is by default a Rayleigh random generator.
On each iteration, a new random number is produced. The output port
is of type DoubleToken. The values that are generated are independent
and identically distributed with the means and the standard deviation
given by parameters. In addition, the seed can be specified as a
parameter to control the sequence that is generated.
- Since:
- Ptolemy II 3.0
- Version:
- $Id: Rician.java 57040 2010-01-27 20:52:32Z cxh $
- Author:
- Ye Zhou
- See Also:
Bernoulli
,
DiscreteRandomSource
,
Triangular
,
Uniform
,
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 |
Constructor Summary |
Rician(CompositeEntity container,
java.lang.String name)
Construct an actor with the given container and name. |
Method Summary |
protected void |
_generateRandomNumber()
Generate a new random number. |
void |
fire()
Send a random number with a Rician distribution to the output. |
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 |
xMean
public Parameter xMean
- The mean of the random number along the X-axis.
This parameter contains a DoubleToken, initially with value 0.0.
yMean
public Parameter yMean
- The mean of the random number along the Y-axis.
This parameter contains a DoubleToken, initially with value 0.0.
standardDeviation
public Parameter standardDeviation
- The standard deviation of the random number.
This parameter contains a DoubleToken, initially with value 1.0.
_current
private double _current
Rician
public Rician(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.
fire
public void fire()
throws IllegalActionException
- Send a random number with a Rician distribution to the output.
This number is only changed in the prefire() method, so it will
remain constant throughout an iteration.
- Specified by:
fire
in interface Executable
- Overrides:
fire
in class RandomSource
- Throws:
IllegalActionException
- If there is no director.
_generateRandomNumber
protected void _generateRandomNumber()
throws IllegalActionException
- Generate a new random number.
- Specified by:
_generateRandomNumber
in class RandomSource
- Throws:
IllegalActionException
- If parameter values are incorrect.