Plaquette
 
Loading...
Searching...
No Matches
pq::MovingFilter Class Referenceabstract
Inheritance diagram for pq::MovingFilter:
Collaboration diagram for pq::MovingFilter:

Public Member Functions

virtual void reset ()
 Resets the filter.
 
virtual void reset (float estimatedMeanValue)
 Resets the filter with a prior estimate of the mean value.
 
virtual void reset (float estimatedMinValue, float estimatedMaxValue)
 Resets the moving filter with a prior estimate of the min and max values.
 
virtual void resumeCalibrating ()
 Switches to calibration mode (default).
 
virtual void pauseCalibrating ()
 Switches to non-calibration mode: calls to put(value) will return filtered value without updating the normalization statistics.
 
virtual void toggleCalibrating ()
 Toggles calibration mode.
 
virtual bool isCalibrating () const
 Returns true iff the moving filter is in calibration mode.
 
unsigned int nSamples () const
 Returns the number of samples that have been processed thus far.
 
virtual bool isPreInitialized () const
 Returns true if the moving filter has been initialized with a starting range at reset.
 
virtual float filter (float value)=0
 Returns the filtered value (without calibrating).
 
virtual float get ()
 Returns value in [0, 1].
 
virtual float mapTo (float toLow, float toHigh)
 Maps value to new range.
 
virtual void clearEvents ()
 
float seconds () const
 Returns engine time in seconds.
 
uint32_t milliSeconds () const
 Returns engine time in milliseconds.
 
uint64_t microSeconds () const
 Returns engine time in microseconds.
 
unsigned long nSteps () const
 Returns number of engine steps.
 
float sampleRate () const
 Returns engine sample rate.
 
float samplePeriod () const
 Returns enginesample period.
 
 operator float ()
 Object can be used directly to access its value.
 
virtual float put (float value)
 Pushes value into the unit.
 
 operator bool ()
 Operator that allows usage in conditional expressions.
 
virtual void infiniteTimeWindow ()
 Sets time window to infinite.
 
virtual void noTimeWindow ()
 Sets time window to no time window.
 
virtual void timeWindow (float seconds)
 Changes the time window (expressed in seconds).
 
virtual float timeWindow () const
 Returns the time window (expressed in seconds).
 
virtual bool timeWindowIsInfinite () const
 Returns true if time window is infinite.
 
virtual void cutoff (float hz)
 Changes the time window cutoff frequency (expressed in Hz).
 
virtual float cutoff () const
 Returns the time window cutoff frequency (expressed in Hz).
 

Static Public Member Functions

static bool analogToDigital (float f)
 Converts analog (float) value to digital (bool) value.
 
static float digitalToAnalog (bool b)
 Converts digital (bool) value to analog (float) value.
 

Protected Member Functions

 MovingFilter (Engine &engine=Engine::primary())
 Constructor.
 
 MovingFilter (float timeWindow, Engine &engine=Engine::primary())
 Constructor with time window.
 
virtual void begin ()
 
virtual float alpha () const
 
virtual void step ()
 
virtual bool eventTriggered (EventType eventType)
 Returns true iff an event of a certain type has been triggered.
 
virtual void onEvent (EventCallback callback, EventType eventType)
 Registers event callback.
 
Engineengine () const
 Returns the engine that owns this unit.
 

Protected Attributes

bool _isCalibrating: 1
 
bool _isPreInitialized: 1
 
uint8_t _nValuesStep: 6
 
unsigned int _nSamples
 
float _value
 
float _timeWindow
 

Constructor & Destructor Documentation

◆ MovingFilter() [1/2]

pq::MovingFilter::MovingFilter ( Engine engine = Engine::primary())
protected

Constructor.

Parameters
enginethe engine running this unit

◆ MovingFilter() [2/2]

pq::MovingFilter::MovingFilter ( float  timeWindow,
Engine engine = Engine::primary() 
)
protected

Constructor with time window.

Parameters
timeWindowthe time window (in seconds)
enginethe engine running this unit

Member Function Documentation

◆ begin()

void pq::MovingFilter::begin ( )
protectedvirtual

Reimplemented from pq::Unit.

◆ eventTriggered()

virtual bool pq::Unit::eventTriggered ( EventType  eventType)
inlineprotectedvirtualinherited

Returns true iff an event of a certain type has been triggered.

Reimplemented in pq::AbstractWave, pq::Alarm, pq::Metronome, pq::PeakDetector, pq::DigitalSource, pq::Ramp, pq::StreamIn, and pq::TimeSliceField< COUNT >.

◆ filter()

virtual float pq::MovingFilter::filter ( float  value)
pure virtual

Returns the filtered value (without calibrating).

Implemented in pq::MinMaxScaler, pq::Normalizer, pq::RobustScaler, and pq::Smoother.

◆ get()

virtual float pq::AnalogSource::get ( )
inlinevirtualinherited

Returns value in [0, 1].

Reimplemented from pq::Flowable.

Reimplemented in pq::AbstractWave, and pq::RobustScaler.

◆ mapTo()

virtual float pq::AnalogSource::mapTo ( float  toLow,
float  toHigh 
)
inlinevirtualinherited

Maps value to new range.

Reimplemented from pq::Flowable.

Reimplemented in pq::Normalizer, pq::StreamIn, and pq::StreamOut.

◆ put()

virtual float pq::Flowable::put ( float  value)
inlinevirtualinherited

◆ reset() [1/3]

void pq::MovingFilter::reset ( )
virtual

Resets the filter.

Reimplemented in pq::MinMaxScaler, pq::Normalizer, pq::RobustScaler, and pq::Smoother.

◆ reset() [2/3]

void pq::MovingFilter::reset ( float  estimatedMeanValue)
virtual

Resets the filter with a prior estimate of the mean value.

Reimplemented in pq::MinMaxScaler, pq::Normalizer, pq::RobustScaler, and pq::Smoother.

◆ reset() [3/3]

void pq::MovingFilter::reset ( float  estimatedMinValue,
float  estimatedMaxValue 
)
virtual

Resets the moving filter with a prior estimate of the min and max values.

Reimplemented in pq::MinMaxScaler, pq::Normalizer, pq::RobustScaler, and pq::Smoother.

◆ resumeCalibrating()

void pq::MovingFilter::resumeCalibrating ( )
virtual

Switches to calibration mode (default).

Calls to put(value) will return filtered value AND update the normalization statistics.


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