c4dynamics.filters.lowpass.lowpass.sample

Contents

c4dynamics.filters.lowpass.lowpass.sample#

lowpass.sample(x: float) float[source]#

Applies the low-pass filter to the input value and returns the filtered output.

Parameters:

x (float) – Input value to be filtered.

Returns:

float – The filtered output value after applying the low-pass filter.

Notes

  • For a continuous system: y’(t) = -y(t) / tau + x(t) / tau

  • For a discrete system: y[k] = (1 - alpha) * y[k-1] + alpha * x[k]

  • The filter’s state (self.y) is updated in place.

Example

>>> lp_filter = lowpass(alpha=0.5)
>>> lp_filter.sample(2.0)
1.0
>>> lp_filter.sample(3.0)
2.0