File Exchange

image thumbnail

Graphical Demonstration of Convolution

version (10.4 KB) by Teja Muppirala
An interactive program that provides graphical insight into how convolution operators work.


Updated 01 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 (2020). Graphical Demonstration of Convolution (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (6)

Christopher Jobling

Seems to be broken on 2019a and b - at least on a Mac Catalina 10.15.



Kevin Bolívar


Teja Muppirala

It turned out that there was an unnecessary AXES command in the slider callback that was causing the GUI to crash when it was called repeatedly. That should be fixed now.

Teja Muppirala

Hmmm. If I move the slider for a long time (about 15 seconds), the GUI fails.
Does this happen to anyone else?
The way I rigged the slider to update dynamically upon dragging is a little shady, and therein may lie the problem.
I'll have to check on this...


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

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