# 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: H : np.ndarray Convolution filters (2D array of shape $$[n_{filters} \times n_{h}]$$ n : int Number of columns of convolution matrix hc : np.ndarray, optional Index of center of first filter pad : np.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) C : np.ndarray Convolution matrix