|
This is an old course web from 2008 |
Old 2008 Course Web: Main / ConvoleEndpointsWhat to do about the edges of a convolution?We discussed this in class, and it was pointed out to me that the topic isn't discussed in the book, and I'm not always consistent in my terminology. So here it is written down. When you perform a convolution (I'll discuss this for the discrete 1D case, but it applies in other cases as well), there is an issue when the signals have finite length (since the convolution summations/integrals are infinite). For example if I have the (discrete) signal: f(t) = [ 1 2 3 4 5 6 7 8 ] It is clear that this signal has values for t = 0-7. But what about outside that range? This comes up, because when we do a convolution between two signals, there will be times when the signals don't overlap. For example, if I define another signal g(t) = [ 1 1 1 ] and compute h(t) = f(t) * g(t) The first step (for t = 0) will have the signals overlap like: 1 2 3 4 5 6 7 8
1 1 1
Generally, we interpret those "blank" spaces as zeros. And for filter kernels, that's almost always the right thing to do. So what we're trying to decide are the values of A B C for cases like A B 1 2 3 4 5 6 7 8
1 1 1
or 1 2 3 4 5 6 7 8 A B
1 1 1
Here are a few different choices
|