In mathematics and, in particular, functional analysis, convolution is a mathematical operation on two functions f and g, producing a third function that is typically viewed as a modified version of one of the original functions (from wikipedia.com).
Convolution of two square pulses: the resulting waveform is a triangular pulse. One of the functions (in this case g) is first reflected about τ = 0 and then offset by t, making it g(t − τ). The area under the resulting product gives the convolution at t. The horizontal axis is τ for f and g, and t for .
I get this picture convolution ilustration from wikipedia. We can ilustrated the convolution process with number. Please check the picture below, I try to create a convolution ilustration. So, we can create C/C++ : Convolution Source Code from this convolution ilustration :
This is a simple convolution ilustration with input two vector. From this ilustration, we can create a C/C++ : Convolution Source Code. This is a function to compute convolution 1D with C/C++ :