dsp.Convolver System object

Package: dsp

Convolution of two inputs


The Convolver computes the convolution of two inputs.

To compute the convolution of two inputs:

  1. Define and set up your convolver. See Construction.

  2. Call step to compute the convolution according to the properties of dsp.Convolver. The behavior of step is specific to each object in the toolbox.


H = dsp.Convolver returns a convolver object, H, that convolves two inputs. For N-D arrays, the convolver computes the convolution column-wise. For arrays, the inputs must have an equal number of columns. If one input is a vector and the other is an N-D array, the convolver computes the convolution of the vector with each column of the N-D array. Convolving inputs of length N and M results in a sequence of length N+M–1. Convolving matrices of size M-by-N and P-by-N results in a matrix of size (M+P–1)-by-N.

H = dsp.Convolver('PropertyName',PropertyValue, ...) returns a convolver object, H, with each property set to the specified value.



Domain for computing convolutions

Specify the domain in which the convolver performs the convolutions as Time Domain, Frequency Domain, or Fastest. Computing convolutions in the time domain minimizes memory use. Computing convolutions in the frequency domain may require fewer computations depending on the input length. If the value of this property is Fastest, the object computes convolutions in the domain which minimizes the number of computations. The default is Time Domain.

 Fixed-Point Properties


cloneCreate convolver object with same property values
getNumInputsNumber of expected inputs to step method
getNumOutputsNumber of outputs of step method
isLockedLocked status for input attributes and nontunable properties
releaseAllow property value and input characteristics changes
stepConvolution of inputs


Convolution of two rectangular sequences:

 hconv = dsp.Convolver;
 x = ones(10,1);
 y = step(hconv, x, x);
 % Result is a triangular sequence 


This object implements the algorithm, inputs, and outputs described on the Convolution block reference page. The object properties correspond to the block parameters.

Was this topic helpful?