Convolution

In mathematics convolution is an operation on two functions to produce a third function that expresses how the shape of one is modified by the other. The term convolution refers to both the result function and to the process of computing it. A discrete convolution can be defined for functions on the set of integers. For more details, please visit the the Wikipedia section dedicated to the convolution.

The algorithm used in QtiPlot is based on the fast Fourier transform (FFT) via the circular convolution theorem. Specifically, the circular convolution of two finite-length sequences (signal and response data sets) is found by computing an FFT of each data set, multiplying them pointwise, and then performing an inverse FFT.

There are two requirements for the response and signal datasets in a convolution operation:

  1. The size of the response dataset must be less then half the size of the signal dataset.

  2. The response dataset must contain an odd number of points.