Hi all, As the subject suggest, I would like to know if anyone know how to perform convolution in excel? In excel only have the Fourier analysis, but no convolution Function. Thanks in advance. Sulphox

# How to perform Convolution in excel?

Started by ●December 19, 2005

Reply by ●December 19, 20052005-12-19

sulphox wrote:> Hi all, > > As the subject suggest, I would like to know if anyone know how to > perform convolution in excel? > > In excel only have the Fourier analysis, but no convolution Function.You can use the convolution theorem: conv(x,y) = ifft(fft(zeropad(x,length(x)+length(y)-1)) * fft(zeropad(y,length(x)+length(y)-1))) where * denotes the point-wise multiplication of complex vectors.

Reply by ●December 20, 20052005-12-20

<abariska@student.ethz.ch> wrote in message news:1134990975.314279.326830@f14g2000cwb.googlegroups.com...> sulphox wrote: >> Hi all, >> >> As the subject suggest, I would like to know if anyone know how to >> perform convolution in excel? >> >> In excel only have the Fourier analysis, but no convolution Function. > > You can use the convolution theorem: > > conv(x,y) = ifft(fft(zeropad(x,length(x)+length(y)-1)) * > fft(zeropad(y,length(x)+length(y)-1))) > > where * denotes the point-wise multiplication of complex vectors.I didn't know that Excel had "zeropad" or "length" ..... ?? In Excel: "Signal1" in column A "Filter" or reversed "Signal2" in column B Column C filled with SUMPRODUCT($nonzero range of cells in Column A ($ for unchanging), running range of cells in Column B of same length as range in Column A) Example: The fixed-length function is in Column D The longer function is in Column C. The convolution is in Column E. E51=SUMPRODUCT(D$4:D$54,C1:C51) where the shortest array "D" is of length 51 and "C" can be of any length. C starts with 51 zeros so the leading transient can be computed. Not fancy but it works. Fred

Reply by ●December 20, 20052005-12-20

Hi, Do you mean that convolution is the multiplication of 2 complex number? let's say if i have S(f) which is FFT of s(n), also i have Y(f) which is the FFT of y(t). Do you mean the convolution of S(f) and Y(f) is the Product of the Multiplication of S(f) and Y(f)? Sulphox

Reply by ●December 20, 20052005-12-20

sulphox wrote:> Hi, > > Do you mean that convolution is the multiplication of 2 complex > number? > let's say if i have S(f) which is FFT of s(n), > also i have Y(f) which is the FFT of y(t). > > Do you mean the convolution of S(f) and Y(f) is the Product of the > Multiplication of S(f) and Y(f)?Almost. The convolution of s(n) with y(t) is the inverse FT of the (point-wise) product of S(f) with Y(f)!

Reply by ●December 20, 20052005-12-20