Graphical Demonstration of Convolution

An interactive program that provides graphical insight into how convolution operators work.
Updated 1 Sep 2016

View License

As one would learn in a basic signal processing / controls / dynamical systems class, the multiplication by an LTI transfer function F(s) in the frequency domain is the same operation as convolution with f(t) in the time domain.
While the equation for convolution of two functions is simple, it took me a while before I understood what that integral really means in a graphical, intuitive way.

This program displays the convolution of two functions, specified either in the time domain or frequency domain (if the Control System Toolbox is installed), in what I hope is an easy-to-understand manner.

Limitations: Impulses are not currently supported, meaning transfer functions that are not strictly proper will have their direct feedthrough part ignored. Put more simply,
If you specify F(s) = (s^n + ... ) / (s^m + ... ) then
n should be less than m.

Cite As

Teja Muppirala (2024). Graphical Demonstration of Convolution (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2009a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

Updated license

Removed a couple of unnecessary AXES commands which were causing the GUI to crash after some time

Fixed various bugs involving nans/infs and checking for the Control System Toolbox

Now correctly checks to see if the control system toolbox is installed, and also fixed some issues with infs/nans