packages = ['sympy','bokeh','numpy']

SignalsVM: An Interactive Web-Based Educational Tool for Signals and Systems Learning

Please click on the type of operation:

Select the type of signal:

Type the signal of interest x(t). For a better visualization, it is recommended to maintain a domain of approx. 100 between the maximum and minimum points.

The signal must be expressed using singularity functions (i.e., u(t) [unit step], rect(t/T) [rectangular function], r(t) [ramp function], delta(t) [dirac delta function]), tri(t) [triangular function] and sgn(t) [signum function] as well as exponential and trigonometric functions:

Type the signal of interest x(t). For a better visualization, it is recommended to maintain a range of approx. 100 between the maximum and minimum points.

The signal must be expressed using singularity functions (i.e., u(t) [unit step], rect(t/T) [rectangular function], r(t) [ramp function], delta(t) [dirac delta function]) and trigonometric functions:


To avoid errors, please note the following:
- The tool is designed for functions, especially those commonly used in a typical Signals and Systems Course. Thus, single real numbers will not be plotted.
- * must be used for multiplication.
- ^ must be used for power except the exponential function.
- An exponential function should be expressed as e(***). Example, e^-t = e(-t).
Click on "Plot" button when you are ready.


To avoid errors, please note the following:
- The tool is designed for functions, especially those commonly used in a typical Signals and Systems Course. Thus, single real numbers will not be plotted.
- * must be used for multiplication.
- ^ must be used for power except the exponential function.
- An exponential function should be expressed as e(***). Example, e^-t = e(-t).
Click on "Plot" button when you are ready.

You may change any linear axis to logarithmic:

Type the signal of interest x[n]. For a better visualization, it is recommended to maintain a range of approx. 100 between the maximum and minimum points.

Singularity functions (u[n], delta[n]):

To avoid errors, please note the following:
- The tool is designed for functions, especially those commonly used in a typical Signals and Systems Course. Thus, single real numbers will not be plotted.
- * must be used for multiplication.
- ^ must be used for power except the exponential function.
- An exponential function should be expressed as e(***). Example, e^-n = e(-n).
Click on "Plot" button when you are ready.



Type y(t) as a function of x(t): (Please follow A*x(a*t+b)+B)

Type the impulse response h(t) of LTI system:

Type y[n] as a function of x[n]: (Please follow A*x[a*n+b]+B)

Type the impulse response h[n] of LTI system:



y(t) = x(t)*h(t) is shown below:

y[n] = x[n]*h[n] is shown below:

Important Remarks:

- Please wait for around 30 seconds until the webpage is loaded.
- If the website is not responding, please try opening it using a different web browser or check if your Internet service provider is blocking the application's executable segment.
- To avoid connectivity interruptions, it is highly recommended to embed the website within the learning management system (LMS). For that, please use the below syntax:

Visit our group's site for further detail: Link

Copyright © 2026 cmd-l