AGX Dynamics 2.41.1.2
Loading...
Searching...
No Matches
agxUtil::VariableSmoothingFactorFilter Class Reference

Variable Smooth Factor Exponential Moving Average filter. More...

#include <SmoothingFilter.h>

+ Inheritance diagram for agxUtil::VariableSmoothingFactorFilter:

Public Member Functions

 VariableSmoothingFactorFilter (agx::Real maximumSmoothingFactor)
 Construct given maximum smoothing factor.
 
agx::Real getMaximumSmoothingFactor () const
 
void setMaximumSmoothingFactor (agx::Real maxSmoothingFactor)
 Set the maximum smoothing factor for this filter.
 
virtual agx::Real update (agx::Real observation, agx::Real s) const
 Update the current statistic variable s given a new observation.
 
- Public Member Functions inherited from agxUtil::SmoothingFilter
 SmoothingFilter ()
 
virtual agx::Real update (agx::Real observation, agx::Real s) const =0
 Update statistic variable s with current observation observation.
 
- Public Member Functions inherited from agx::Referenced
 Referenced ()
 Default constructor.
 
 Referenced (const Referenced &)
 
template<typename T >
T * as ()
 Subclass casting.
 
template<typename T >
const T * as () const
 
template<typename T >
T * asSafe ()
 Safe subclass casting, return nullptr if template type does not match.
 
template<typename T >
const T * asSafe () const
 
int getReferenceCount () const
 
template<typename T >
bool is () const
 Subclass test.
 
Referencedoperator= (const Referenced &)
 Assignment operator. Will increment the number of references to the referenced object.
 
void reference (void *ptr=nullptr) const
 Explicitly increment the reference count by one, indicating that this object has another pointer which is referencing it.
 
void unreference (void *ptr=nullptr) const
 Decrement the reference count by one, indicating that a pointer to this object is referencing it.
 
void unreference_nodelete () const
 Decrement the reference count by one, indicating that a pointer to this object is referencing it.
 

Protected Member Functions

virtual ~VariableSmoothingFactorFilter ()
 
- Protected Member Functions inherited from agxUtil::SmoothingFilter
virtual ~SmoothingFilter ()
 
- Protected Member Functions inherited from agx::Referenced
virtual ~Referenced ()
 Destructor.
 
void allocateObserverVector () const
 
void deleteUsingDeleteHandler () const
 

Protected Attributes

agx::Real m_maxSmoothingFactor
 
- Protected Attributes inherited from agx::Referenced
Mutex m_mutex
 
ObserverContainer m_observers
 
AtomicValue m_refCount
 

Additional Inherited Members

- Static Public Member Functions inherited from agx::Referenced
template<typename T >
static bool ValidateCast (const Referenced *object)
 
- Static Protected Member Functions inherited from agx::Referenced
static DeleteHandlergetDeleteHandler ()
 
static void setDeleteHandler (DeleteHandler *handler)
 Internal: Set a DeleteHandler to which deletion of all referenced counted objects will be delegated to.
 

Detailed Description

Variable Smooth Factor Exponential Moving Average filter.

During update, this class calculates a suitable smoothing factor to eliminate any sudden peaks in the observations (i.e., the smoothing factor goes to zero).

Definition at line 49 of file SmoothingFilter.h.

Constructor & Destructor Documentation

◆ VariableSmoothingFactorFilter()

agxUtil::VariableSmoothingFactorFilter::VariableSmoothingFactorFilter ( agx::Real  maximumSmoothingFactor)
inline

Construct given maximum smoothing factor.

Parameters
maximumSmoothingFactor- the maximum smoothing factor to be used for this filter (valid 0 <= maximumSmoothingFactor <= 1)

Definition at line 56 of file SmoothingFilter.h.

◆ ~VariableSmoothingFactorFilter()

virtual agxUtil::VariableSmoothingFactorFilter::~VariableSmoothingFactorFilter ( )
inlineprotectedvirtual

Definition at line 86 of file SmoothingFilter.h.

Member Function Documentation

◆ getMaximumSmoothingFactor()

agx::Real agxUtil::VariableSmoothingFactorFilter::getMaximumSmoothingFactor ( ) const
inline
Returns
the maximum smoothing factor

Definition at line 71 of file SmoothingFilter.h.

◆ setMaximumSmoothingFactor()

void agxUtil::VariableSmoothingFactorFilter::setMaximumSmoothingFactor ( agx::Real  maxSmoothingFactor)
inline

Set the maximum smoothing factor for this filter.

Parameters
maxSmoothingFactor- the maximum smoothing factor

Definition at line 80 of file SmoothingFilter.h.

◆ update()

virtual agx::Real agxUtil::VariableSmoothingFactorFilter::update ( agx::Real  observation,
agx::Real  s 
) const
virtual

Update the current statistic variable s given a new observation.

Will calculate a smoothing factor given the deviation of the new observation from the current value of s. Large deviations will give smaller smoothing factor, i.e., only a small fraction of the new observation will be part of s after this update.

Implements agxUtil::SmoothingFilter.

Member Data Documentation

◆ m_maxSmoothingFactor

agx::Real agxUtil::VariableSmoothingFactorFilter::m_maxSmoothingFactor
protected

Definition at line 89 of file SmoothingFilter.h.


The documentation for this class was generated from the following file: