Plaquette
 
Loading...
Searching...
No Matches
pq::MinMaxScaler Class Reference

Regularizes signal into [0,1] by rescaling it using the min and max values. More...

#include <MinMaxScaler.h>

Inheritance diagram for pq::MinMaxScaler:
Collaboration diagram for pq::MinMaxScaler:

Public Member Functions

 MinMaxScaler (Engine &engine=Engine::primary())
 Default constructor.
 
 MinMaxScaler (float timeWindow, Engine &engine=Engine::primary())
 Constructor with time window.
 
float minValue () const
 Returns the current min. value.
 
float maxValue () const
 Returns the current max. value.
 
virtual void infiniteTimeWindow ()
 Sets time window to infinite.
 
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 reset ()
 Resets the moving filter.
 
virtual float put (float value)
 Pushes value into the unit.
 
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).
 
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.
 
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.
 
 operator bool ()
 Operator that allows usage in conditional expressions.
 

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

virtual void step ()
 
virtual void begin ()
 
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

float _timeWindow
 
float _minValue
 
float _maxValue
 
float _smoothedMinValue
 
float _smoothedMaxValue
 
unsigned int _nSamples
 
float _currentValueStep
 
bool _isCalibrating: 1
 
uint8_t _nValuesStep: 7
 
float _value
 

Detailed Description

Regularizes signal into [0,1] by rescaling it using the min and max values.

Constructor & Destructor Documentation

◆ MinMaxScaler() [1/2]

pq::MinMaxScaler::MinMaxScaler ( Engine engine = Engine::primary())

Default constructor.

Assigns infinite time window.

Parameters
enginethe engine running this unit

◆ MinMaxScaler() [2/2]

pq::MinMaxScaler::MinMaxScaler ( float  timeWindow,
Engine engine = Engine::primary() 
)

Constructor with time window.

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

Member Function Documentation

◆ 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 >.

◆ get()

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

Returns value in [0, 1].

Reimplemented from pq::Chainable.

Reimplemented in pq::AbstractWave.

◆ infiniteTimeWindow()

void pq::MinMaxScaler::infiniteTimeWindow ( )
virtual

Sets time window to infinite.

Implements pq::MovingFilter.

◆ mapTo()

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

Maps value to new range.

Reimplemented from pq::Chainable.

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

◆ put()

float pq::MinMaxScaler::put ( float  value)
virtual

Pushes value into the unit.

If isRunning() is false the filter will not be updated but will just return the filtered value.

Parameters
valuethe value sent to the unit
Returns
the new value of the unit

Reimplemented from pq::Chainable.

◆ reset()

void pq::MinMaxScaler::reset ( )
virtual

Resets the moving filter.

Reimplemented from pq::MovingFilter.

◆ resumeCalibrating()

void pq::MovingFilter::resumeCalibrating ( )
virtualinherited

Switches to calibration mode (default).

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

◆ step()

void pq::MinMaxScaler::step ( )
protectedvirtual

Reimplemented from pq::Unit.

◆ timeWindow() [1/2]

float pq::MinMaxScaler::timeWindow ( ) const
virtual

Returns the time window (expressed in seconds).

Implements pq::MovingFilter.

◆ timeWindow() [2/2]

void pq::MinMaxScaler::timeWindow ( float  seconds)
virtual

Changes the time window (expressed in seconds).

Implements pq::MovingFilter.

◆ timeWindowIsInfinite()

bool pq::MinMaxScaler::timeWindowIsInfinite ( ) const
virtual

Returns true if time window is infinite.

Implements pq::MovingFilter.


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