Convolution with numpy

A convolution is a way to combine two sequences, x and w, to get a third sequence, y, that is a filtered version of x. The convolution of the sample xt is computed as follows:

It is the mean of the weighted summation over a window of length k and wt are the weights. Usually, the sequence w is generated using a window function. Numpy has a number of window functions already implemented: bartlett, blackman, hamming, hanning and kaiser.

3 responses
I remember when I first had to learn convolution. I couldn't understand the "graphic" explanation, so I learned the mathematical way. Two years later I had to learn it all again, but then I couldn't get the mathematical meaning, so I took the graphical approach. Either way, convolution is easy: easy to make it wrong in the test.
Convolution is something I just used and had a really hard time understanding. I could get the idea, but I had so much difficulty trying to figure out the lower and upper limits of an arbitrary convolution.
Convolution seems to be the sort of things that once you read about you grok the mechanics but when you think really hard on them you realize you haven't grasped their gists.