c = conv(a,b)
c = conv(a,b) convolves vectors a and b. Convolution can be thought of as multiplying the polynomials whose coefficients are the elements of a and b since, algebraically, this is the same operation.
Let m = length(a) and n = length(b). Then c is the vector of length m+n-1 whose k-th element is
The sum is over all the values of j which lead to legal subscripts for a(j) and b(k+1-j), specifically j = max(1,k+1-n): min(k,m). When m = n, this gives
c(1) = a(1)*b(1)c(2) = a(1)*b(2)+a(2)*b(1)c(3) = a(1)*b(3)+a(2)*b(2)+a(3)*b(1)...c(n) = a(1)*b(n)+a(2)*b(n-1)+ ... +a(n)*b(1)...c(2*n-1) = a(n)*b(n)
X = fft([x zeros(1,length(y)-1)])
and
Y = fft([y zeros(1,length(x)-1)])
then
conv(x,y) = ifft(X.*Y)
a = [1 2 3 4] and b = [10 20 30], then c = conv(a,b) is
The vectorsc =10 40 100 160 170 120
a and b represent the polynomials
Then the product c = conv(a,b) is the polynomial
deconv, residue, filter
convmtx, xconv2 in the Signal Processing Toolbox
(c) Copyright 1994 by The MathWorks, Inc.