Convolution of an odd number of points

Suppose the blurring vector b, the second argument, contains an odd number of points. Let N be the length of b, and let M be the length of the data vector, y. The convolution of y with b is:

for  . References to subscripts out of range of y are not summed. The blurring vector is normalized to 1 to insure that the integrals of the the original data and the convolution result are identical. This normalization is internal, the blurring vector is returned unchanged.

To ensure proper convolution, y should be padded at it's upper and lower ends with zeros so it's length is at least the minimum of the non-zero length of b and one-half the length of b.

Note that the lengths of b and y can differ. To avoid centroid shifts in the output, center the blurring vector properly. For example, suppose that b has 2N-1 elements containing a Gaussian, then its peak should be at N.

  CONVOLUTE function
  Convolution of an even number of points