Perform an IIR filter by evaluating difference equation.

functional_lfilter(waveform, a_coeffs, b_coeffs, clamp = TRUE)

Arguments

waveform

(Tensor): audio waveform of dimension of (..., time). Must be normalized to -1 to 1.

a_coeffs

(Tensor): denominator coefficients of difference equation of dimension of (n_order + 1). Lower delays coefficients are first, e.g. [a0, a1, a2, ...]. Must be same size as b_coeffs (pad with 0's as necessary).

b_coeffs

(Tensor): numerator coefficients of difference equation of dimension of (n_order + 1). Lower delays coefficients are first, e.g. [b0, b1, b2, ...]. Must be same size as a_coeffs (pad with 0's as necessary).

clamp

(bool, optional): If TRUE, clamp the output signal to be in the range [-1, 1] (Default: TRUE)

Value

tensor: Waveform with dimension of (..., time).