Convolution Calculator

Step-by-Step Continuous & Discrete Symbolic CAS Free · No Signup

Compute continuous and discrete convolution with step-by-step solutions. Features symbolic integration via SymPy, interactive line and stem plots, convolution properties table, and a built-in Python compiler. Essential for signal processing, control systems, and LTI system analysis.

Convolution Calculator
Enter a function of t
*
Enter a function of t
Enter functions above…


PropertyNotes

Continuous mode:
exp(-t)*Heaviside(t)    sin(t)*Heaviside(t)
DiracDelta(t)    t*exp(-2*t)*Heaviside(t)
Heaviside(t)-Heaviside(t-1)   (rectangle pulse)
Multiplication: Use * explicitly: t*exp(-t)
Discrete mode:
Comma-separated values: 1,2,3 or 1,-1,1,-1
No brackets needed, just the values

Result

*

Enter functions and click Compute

Compute continuous or discrete convolution with step-by-step solutions.

Convolution Output

Compute a convolution to see the output plot.

Python Compiler

What is Convolution?

Convolution is a fundamental mathematical operation that combines two functions to produce a third function expressing how the shape of one is modified by the other. For continuous signals, it is defined as (f*g)(t) = ∫−∞ f(τ) g(t−τ) dτ.

For discrete signals, convolution is a summation: (x*h)[n] = Σk x[k] · h[n−k]. In both cases, one function is flipped and slid across the other, computing the overlap at each position. Convolution is the key operation in linear time-invariant (LTI) systems.

Key Properties

Commutativity

f*g = g*f. The order of the functions does not matter. You can convolve in either direction.

Convolution Theorem

F{f*g} = F(ω)·G(ω). Convolution in time equals multiplication in frequency, enabling fast computation via FFT.

Identity Element

f*δ = f. Convolving any function with the Dirac delta returns the original function unchanged.

Distributivity

f*(g+h) = f*g + f*h. Convolution distributes over addition, like multiplication.

Applications

📡

Signal Processing

Filter design, echo/reverb effects, noise removal, and system response analysis.

🖼

Image Processing

Blur, sharpen, edge detection, and feature extraction using 2D convolution kernels.

🎲

Probability

The PDF of the sum of independent random variables is the convolution of their individual PDFs.

Control Systems

System output = input convolved with impulse response. Foundation of LTI system theory.

Frequently Asked Questions

Convolution is a mathematical operation that combines two functions to produce a third function. For continuous signals, it is defined as (f*g)(t) = integral from -infinity to infinity of f(tau)*g(t-tau) dtau. For discrete signals, it is a sum: (x*h)[n] = sum of x[k]*h[n-k]. Convolution describes the output of a linear time-invariant (LTI) system.
Continuous convolution uses an integral and works with continuous-time signals like analog waveforms. Discrete convolution uses a summation and works with sequences of numbers, such as digital signals. The underlying concept is the same - flip one signal, slide it across the other, and compute the overlap at each point.
The convolution theorem states that convolution in the time domain equals multiplication in the frequency domain: F{f*g} = F(omega)*G(omega). This means you can compute convolution by taking Fourier transforms of both signals, multiplying them, and taking the inverse transform. This is often computationally faster than direct convolution.
The impulse response h(t) is the output of an LTI system when the input is a Dirac delta function. It completely characterizes the system because the output for any input x(t) can be found by convolving x(t) with h(t): y(t) = x(t) * h(t). This is the foundation of LTI system analysis.
Filtering is essentially convolution. When you apply a filter to a signal, you are convolving the signal with the filter's impulse response. In the frequency domain, this corresponds to multiplying the signal's spectrum by the filter's frequency response. Low-pass, high-pass, and band-pass filters are all implemented through convolution.
Yes, this calculator is completely free with no signup required. You get symbolic computation via SymPy for continuous convolution, NumPy for discrete convolution, step-by-step solutions, interactive graphs, and a built-in Python compiler.

🔥 Explore More Math

Fourier Transform Calculator

Forward & inverse Fourier transforms for signal analysis

Laplace Transform Calculator

Forward & inverse Laplace transforms with steps and ROC

H(s)

Bode Plot Generator

Magnitude & phase plots for transfer functions

Support This Free Tool

Every coffee helps keep the servers running. Every book sale funds the next tool I'm dreaming up. You're not just supporting a site — you're helping me build what developers actually need.

500K+ users
200+ tools
100% private
Privacy Guarantee: Private keys you enter or generate are never stored on our servers. All tools are served over HTTPS.