implement convolution using the output side algorithm