public abstract class AbstractUnscentedKalmanFilter extends TypedCompositeActor
ParticleFilter
Modifier and Type | Class and Description |
---|---|
protected static class |
AbstractUnscentedKalmanFilter.InputType |
CompositeEntity.ContainedObjectsIterator
Modifier and Type | Field and Description |
---|---|
protected IORelation[] |
_inputRelations
Array of input Relations.
|
protected double[][] |
_Sigma
Measurement covariance matrix.
|
protected java.lang.String[] |
_sigmaPointLabels
Labels of sigma points, that contains state names and a weight label.
|
protected Type[] |
_sigmaPointTypes
Types of each sigma point dimension.
|
protected java.lang.String[] |
_stateLabels
Labels of states.
|
protected ArrayToken |
_stateNames
Cached State variable names.
|
protected Type[] |
_stateTypes
Types of each state dimension.
|
protected boolean |
_upToDate
Flag indicating whether the contained model is up to date.
|
protected static java.lang.String |
MEASUREMENT_NOISE |
protected static java.lang.String |
MEASUREMENT_POSTFIX |
Parameter |
priorCovariance
A matrix value used in initialization of sigma points.
|
Parameter |
priorMeanState
An array value used in initialization of state variables.
|
Parameter |
processNoiseCovariance
a matrix value which determine process noise.
|
TypedIOPort |
sigmaPointOutput
The output port that outputs the sigma-points of distribution of state variable at each firing.
|
protected static java.lang.String |
STATE_VARIABLE_NAMES |
TypedIOPort |
stateEstimate
State estimate output.
|
Parameter |
t
The value of current time.
|
protected static java.lang.String |
UPDATE_POSTFIX |
_actorFiringListeners, _causalityInterface, _derivedPiggybacks, _initializables, _notifyingActorFiring, _piggybacks, _publishedPorts, _publisherRelations, _stopRequested, _subscribedPorts
_levelCrossingLinks
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS
COMPLETED, NOT_READY, STOP_ITERATING
Constructor and Description |
---|
AbstractUnscentedKalmanFilter(CompositeEntity container,
java.lang.String name)
Construct the composite actor with a name and a container.
|
AbstractUnscentedKalmanFilter(Workspace workspace)
Construct a UKF in the specified
workspace with no container and an empty string as a name.
|
Modifier and Type | Method and Description |
---|---|
protected abstract void |
_checkParameters()
Check the dimensions of all parameters and ports.
|
void |
attributeChanged(Attribute attribute)
If the argument is any parameter other than stateVariableNames
t, or any parameter matching an input port,
then request reinitialization.
|
void |
fire()
Override the base class to first set the value of the
parameter t to match current time, then to set
the local parameters that mirror input values,
and then to fire the contained actors.
|
protected abstract AbstractUnscentedKalmanFilter.InputType |
getInputType(java.lang.String inputName) |
protected abstract Parameter |
getMeasurementParameter(java.lang.String fullName) |
protected java.lang.String |
getMeasurementParameterExpression(java.lang.String fullName) |
protected abstract Parameter |
getNoiseParameter(java.lang.String inputName) |
protected abstract Parameter |
getUserDefinedParameter(java.lang.String parameterName)
Return the Parameter that is part of a state space model.
|
protected java.lang.String |
getUserDefinedParameterExpression(java.lang.String parameterName)
Return the expression for a user-defined parameter.
|
void |
preinitialize()
Create the model inside from the parameter values.
|
void |
wrapup()
If this actor is opaque, then invoke the wrapup() method of the local
director.
|
_addEntity, _addPort, _addRelation, _checkTypesFromTo, _destinationTypeConstraints, attributeTypeChanged, isBackwardTypeInferenceEnabled, newPort, newRelation, resolveTypes, typeConstraintList, typeConstraints
_actorFiring, _actorFiring, _finishedAddEntity, _setDirector, _transferPortParameterInputs, addActorFiringListener, addInitializable, addPiggyback, clone, connectionsChanged, createReceivers, createSchedule, getCausalityInterface, getDirector, getExecutiveDirector, getManager, getPublishedPort, getPublishedPortChannel, getPublishedPorts, getSubscribedPortChannel, inferringWidths, inferWidths, initialize, inputPortList, isFireFunctional, isOpaque, isPublishedPort, isStrict, iterate, linkToPublishedPort, linkToPublishedPort, linkToPublishedPort, linkToPublishedPort, needsWidthInference, newInsideReceiver, newReceiver, notifyConnectivityChange, outputPortList, postfire, prefire, recordFiring, registerPublisherPort, registerPublisherPort, removeActorFiringListener, removeInitializable, removePiggyback, requestChange, setContainer, setDirector, setManager, stop, stopFire, terminate, unlinkToPublishedPort, unlinkToPublishedPort, unlinkToPublishedPort, unlinkToPublishedPort, unregisterPublisherPort, unregisterPublisherPort
_adjustDeferrals, _containedDecorators, _deepOpaqueEntityList, _description, _exportMoMLContents, _removeEntity, _removeRelation, _validateSettables, allAtomicEntityList, allowLevelCrossingConnect, classDefinitionList, connect, connect, containedObjectsIterator, deepCompositeEntityList, deepEntityList, deepGetEntities, deepNamedObjList, deepOpaqueEntityList, deepRelationSet, entityList, entityList, exportLinks, exportMoML, getAttribute, getEntities, getEntity, getPort, getRelation, getRelations, isAtomic, lazyAllAtomicEntityList, lazyAllCompositeEntityList, lazyAllCompositeTransparentAndOpaqueEntityList, lazyClassDefinitionList, lazyDeepEntityList, lazyEntityList, lazyRelationList, numberOfEntities, numberOfRelations, numEntities, numRelations, relationList, removeAllEntities, removeAllRelations, setClassDefinition, statistics, uniqueName
_checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName
_removePort, connectedPortList, connectedPorts, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts
_setParent, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _copyChangeRequestList, _debug, _debug, _debug, _debug, _debug, _executeChangeRequests, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _notifyHierarchyListenersAfterChange, _notifyHierarchyListenersBeforeChange, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, addHierarchyListener, attributeDeleted, attributeList, attributeList, clone, decorators, 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, notifyOfNameChange, propagateValue, propagateValues, removeAttribute, removeChangeListener, removeDebugListener, removeHierarchyListener, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspace
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList
isFireFunctional, isStrict, iterate, postfire, prefire, stop, stopFire, terminate
addInitializable, initialize, removeInitializable
description, getContainer, getDisplayName, getFullName, getName, getName, setName
getDerivedLevel, getDerivedList, propagateValue
public TypedIOPort sigmaPointOutput
public TypedIOPort stateEstimate
public Parameter t
public Parameter priorCovariance
public Parameter priorMeanState
public Parameter processNoiseCovariance
protected boolean _upToDate
protected ArrayToken _stateNames
protected IORelation[] _inputRelations
protected java.lang.String[] _sigmaPointLabels
protected Type[] _sigmaPointTypes
protected java.lang.String[] _stateLabels
protected Type[] _stateTypes
protected double[][] _Sigma
protected static final java.lang.String STATE_VARIABLE_NAMES
protected static final java.lang.String MEASUREMENT_NOISE
protected static final java.lang.String UPDATE_POSTFIX
protected static final java.lang.String MEASUREMENT_POSTFIX
public AbstractUnscentedKalmanFilter(CompositeEntity container, java.lang.String name) throws NameDuplicationException, IllegalActionException
container
- The container.name
- The name.NameDuplicationException
- If another entity already had
this name.IllegalActionException
- If there was an internal problem.public AbstractUnscentedKalmanFilter(Workspace workspace) throws IllegalActionException, NameDuplicationException
workspace
- The workspace that will list the actor.IllegalActionException
- If the name has a period in it, or
the director is not compatible with the specified container.NameDuplicationException
- If the container already contains
an entity with the specified name.public void attributeChanged(Attribute attribute) throws IllegalActionException
attributeChanged
in class TypedCompositeActor
attribute
- The attribute that changed.IllegalActionException
- If the numerator and the
denominator matrix is not a row vector.public void fire() throws IllegalActionException
fire
in interface Executable
fire
in class CompositeActor
IllegalActionException
- If there is no director, or if
the director's fire() method throws it, or if the actor is not
opaque.public void preinitialize() throws IllegalActionException
preinitialize
in interface Initializable
preinitialize
in class CompositeActor
IllegalActionException
- If there is no director,
or if any contained actors throws it in its preinitialize() method.protected abstract AbstractUnscentedKalmanFilter.InputType getInputType(java.lang.String inputName)
public void wrapup() throws IllegalActionException
CompositeActor
wrapup
in interface Initializable
wrapup
in class CompositeActor
IllegalActionException
- If there is no director,
or if the director's wrapup() method throws it, or if this
actor is not opaque.protected abstract void _checkParameters() throws IllegalActionException
IllegalActionException
- If the dimensions are illegal.protected java.lang.String getUserDefinedParameterExpression(java.lang.String parameterName) throws IllegalActionException
parameterName
- Name of parameterIllegalActionException
protected abstract Parameter getUserDefinedParameter(java.lang.String parameterName) throws IllegalActionException
parameterName
- Name of parameterIllegalActionException
protected java.lang.String getMeasurementParameterExpression(java.lang.String fullName) throws IllegalActionException
IllegalActionException
protected abstract Parameter getMeasurementParameter(java.lang.String fullName) throws IllegalActionException
IllegalActionException
protected abstract Parameter getNoiseParameter(java.lang.String inputName) throws IllegalActionException
IllegalActionException