Accelerating the pace of engineering and science

• Trials

conv

Convolution and polynomial multiplication

Syntax

w = conv(u,v)
w = conv(...,'shape')

Description

w = conv(u,v) convolves vectors u and v. Algebraically, convolution is the same operation as multiplying the polynomials whose coefficients are the elements of u and v.

w = conv(...,'shape') returns a subsection of the convolution, as specified by the shape parameter:

 full Returns the full convolution (default). same Returns the central part of the convolution of the same size as u. valid Returns only those parts of the convolution that are computed without the zero-padded edges. Using this option, length(w) is max(length(u)-max(0,length(v)-1),0).

Definitions

Let m = length(u) and n = length(v) . Then w is the vector of length m+n-1 whose kth element is

The sum is over all the values of j which lead to legal subscripts for u(j) and v(k+1-j), specifically j = max(1,k+1-n): min(k,m). When m = n, this gives

```w(1) = u(1)*v(1)
w(2) = u(1)*v(2)+u(2)*v(1)
w(3) = u(1)*v(3)+u(2)*v(2)+u(3)*v(1)
...
w(n) = u(1)*v(n)+u(2)*v(n-1)+ ... +u(n)*v(1)
...
w(2*n-1) = u(n)*v(n)```