pyFDN.td.MatrixFIR#

class pyFDN.td.MatrixFIR(coeffs)[source]#

Stateful matrix of FIR filters (e.g. a paraunitary scattering feedback matrix).

Every matrix entry is an FIR filter run with scipy.signal.lfilter(); state persists across filter() calls. For long impulse responses use MatrixConvolver instead, which computes the same convolution by FFT.

Parameters:

coeffs (ArrayLike) – FIR coefficients of shape (n_out, n_in, n_taps) in the z^{-1} convention (coeffs[i, j, k] is the tap of z^{-k} from input j to output i).

Notes

pyFDN.process_fdn() constructs this filter automatically when its feedback matrix A has shape (n_out, n_in, n_taps).

__init__(coeffs)[source]#

Methods

__init__(coeffs)

filter(block)

Filter one block and advance internal state.

process(signal, *[, squeeze])

Filter a whole signal in one call, from the current state.

reset()

Clear internal state (no-op for stateless operators).

Attributes

in_channels

out_channels

filter(block)[source]#

Filter one block and advance internal state.

Return type:

ndarray

reset()[source]#

Clear internal state (no-op for stateless operators).

Return type:

None