pylops.utils.signalprocessing.nonstationary_convmtx#

pylops.utils.signalprocessing.nonstationary_convmtx(H, n, hc=0, pad=(0, 0))[source]#

Convolution matrix from a bank of filters

Makes a dense convolution matrix \(\mathbf{C}\) such that the dot product np.dot(C, x) is the nonstationary convolution of the bank of filters \(H=[h_1, h_2, h_n]\) and the input signal \(x\).

Parameters
Hnp.ndarray

Convolution filters (2D array of shape \([n_\text{filters} \times n_{h}]\)

nint

Number of columns of convolution matrix

hcnp.ndarray, optional

Index of center of first filter

padnp.ndarray

Zero-padding to apply to the bank of filters before and after the provided values (use it to avoid wrap-around or pass filters with enough padding)

Returns
Cnp.ndarray

Convolution matrix