IIRFilter

template<int64_t filter_order>
class IIRFilter : public vslib::Filter

Public Functions

inline IIRFilter(std::string_view name, Component &parent)

Constructor of the IIR filter Component, initializing two Parameters: numerator and denominator coefficient arrays.

Parameters:
inline virtual double filter(const double input) override

Filters the provided input by convolving coefficients and the input, including previous inputs and previously filtered values.

Parameters:

input – Input value to be filtered

Returns:

Filtered value

template<size_t N>
inline std::array<double, N> filter(const std::array<double, N> &inputs)

Filters the provided input array by filtering each element of the input.

Parameters:

inputs – Array with input values to be filtered

Returns:

Array with the filtered values

inline virtual std::optional<fgc4::utils::Warning> verifyParameters() override

Copies Parameter values into local containers for optimised access.

Returns:

Optionally returns a Warning if an issue was found

inline virtual double filter(const double input)

Filters the provided input array by filtering each element of the input.

Parameters:

input – Array with input values to be filtered

Returns:

Array with the filtered values

Public Members

Parameter<std::array<double, buffer_length>> numerator

Coefficients applied to inputs.

Parameter<std::array<double, buffer_length>> denominator

Coefficients applied to outputs.