Convolution Calculator


This online discrete Convolution Calculator combines two data sequences into a single data sequence. You can paste the input data copied from a spreadsheet or csv-file or enter manually using comma, space or enter as separators. The elements of the result data sequence can be space or comma separated.


Precision: decimal places

First Data Sequence

Second Data Sequence

Separator: Comma   Space

Result Data Sequence


Convolution Definition

In mathematics convolution is a mathematical operation on two functions \(f\) and \(g\) that produces a third function \(f*g\) expressing how the shape of one is modified by the other.

For functions defined on the set of integers, the discrete convolution is given by the formula:

$$(f * g)(n) = \sum_{m=-\infty}^\infty f(m) g(n – m).$$

For finite sequences \(f(m)\) with \(M\) values and \(g(n)\) with \(N\) values we have the following formula for linear discrete convolution:

$$(f * g)(n) = \sum_{m=0}^n f(m) g(n – m),$$

where \(n=0…(N+M-2)\) and \(f(m)=0\) when \(m \lt 0\) and \(m\ge M\), and \(g(n)=0\) when \(n \lt 0\) and \(n\ge N\).

Applications of Convolution

Convolution has numerous applications including probability and statistics, computer vision, natural language processing, image and signal processing, engineering, and differential equations.

One of the most important applications is digital signal processing (DSP). Convolution is a mathematical way of combining two signals to form a third signal. Using the method of impulse decomposition, systems are described by a signal called the impulse response. Convolution is important because it relates the three signals of interest: the input signal, the output signal, and the impulse response.

The main use of convolution in DSP is in describing the output of a linear time-invariant (LTI) system. The input-output behavior of an LTI system can be characterized via its impulse response, and the output of an LTI system for any input signal can be expressed as the convolution of the input signal with the system’s impulse response. An impulse response is the response of any system when an impulse signal (a signal that contains all possible frequencies) is applied to it. A linear time-invariant system is a system that behaves linearly, and is time-invariant (a shift in time at the input causes a corresponding shift in time in the output).

Properties of Linear Convolution

Our Convolution Calculator performs discrete linear convolution. Linear convolution has three important properties:

Commutative property states that linear convolution is a commutative operation;
Associative property means that we can replace a cascade of LTI systems in series by a single system whose impulse response is equal to the convolution of the impulse responses of the individual LTI systems;
Distributive property means that if we have two individual LTI systems with their own individual impulses responses, we can combine them. We can merge them into one LTI system whose impulse response is equal to the sum of the individual responses of the constituent systems.


Related calculators

Check out our other math calculators such as Harmonic Mean Calculator or Weighted Average Calculator.