Simple Lowpass Filter

The SimpleLowpassFilter class provides an implementation of a simple moving average filter with a configurable time constant.

API Reference

Header File

Classes

class SimpleLowpassFilter

Simple lowpass filter using a time constant and a stored value.

Public Functions

SimpleLowpassFilter() = default

Construct a new SimpleLowpassFilter object.

explicit SimpleLowpassFilter(const Config &config)

Initialize the lowpass filter based on the config.

Parameters:

config – Configuration struct.

void set_time_constant(const float time_constant)

Set the time constant of the filter.

Parameters:

time_constant – Time constant of the filter.

float get_time_constant() const

Get the time constant of the filter.

Returns:

Time constant of the filter.

float update(const float input)

Filter the signal sampled by input, updating internal state, and returning the filtered output.

Parameters:

input – New sample of the input data.

Returns:

Filtered output based on input, time, and history.

float operator()(float input)

Filter the signal sampled by input, updating internal state, and returning the filtered output.

Parameters:

input – New sample of the input data.

Returns:

Filtered output based on input, time, and history.

void reset()

Reset the filter to its initial state.

struct Config

Configuration for the lowpass filter.

Public Members

float time_constant = 0.0f

Time constant of the filter.