ProtoTracer  1.0
Real-time 3D rendering and animation engine
Loading...
Searching...
No Matches
DerivativeFilter Class Reference

Calculates the derivative (rate of change) of input values with filtering for stability. More...

#include <DerivativeFilter.h>

Collaboration diagram for DerivativeFilter:

Public Member Functions

 DerivativeFilter ()
 Constructs a DerivativeFilter instance with default configurations.
 
float GetOutput ()
 Retrieves the current filtered derivative output.
 
float Filter (float value)
 Filters the derivative of the input value and normalizes the output.
 

Private Attributes

RunningAverageFilter< 10 > output = RunningAverageFilter<10>(0.2f)
 Running average filter for smoothing the derivative output.
 
MinFilter< 40 > minFilter
 Minimum filter for baseline normalization.
 
float previousReading = 0.0f
 Stores the previous input value for calculating the rate of change.
 
float outputValue = 0.0f
 Stores the most recent filtered derivative value.
 

Detailed Description

Calculates the derivative (rate of change) of input values with filtering for stability.

The DerivativeFilter smooths the derivative output using a running average filter and normalizes it using a minimum filter to prevent rapid fluctuations.

Definition at line 26 of file DerivativeFilter.h.

Constructor & Destructor Documentation

◆ DerivativeFilter()

Constructs a DerivativeFilter instance with default configurations.

Definition at line 3 of file DerivativeFilter.cpp.

Member Function Documentation

◆ Filter()

float Filter ( float  value)

Filters the derivative of the input value and normalizes the output.

Parameters
valueThe current input value.
Returns
The filtered and normalized derivative value.

Definition at line 9 of file DerivativeFilter.cpp.

References Mathematics::Constrain(), MinFilter< memory >::Filter(), RunningAverageFilter< memory >::Filter(), minFilter, output, outputValue, and previousReading.

Referenced by MicrophoneFourier::Update(), and MicrophoneFourier::UpdateDMA().

◆ GetOutput()

float GetOutput ( )

Retrieves the current filtered derivative output.

Returns
The filtered derivative value.

Definition at line 5 of file DerivativeFilter.cpp.

References outputValue.

Member Data Documentation

◆ minFilter

MinFilter<40> minFilter
private

Minimum filter for baseline normalization.

Definition at line 29 of file DerivativeFilter.h.

Referenced by Filter().

◆ output

RunningAverageFilter<10> output = RunningAverageFilter<10>(0.2f)
private

Running average filter for smoothing the derivative output.

Definition at line 28 of file DerivativeFilter.h.

Referenced by Filter().

◆ outputValue

float outputValue = 0.0f
private

Stores the most recent filtered derivative value.

Definition at line 31 of file DerivativeFilter.h.

Referenced by Filter(), and GetOutput().

◆ previousReading

float previousReading = 0.0f
private

Stores the previous input value for calculating the rate of change.

Definition at line 30 of file DerivativeFilter.h.

Referenced by Filter().


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