Signals, Systems, and Control Demonstrations

Recent updates to Java and other software have broken most of the demonstrations below. Repairs are being contemplated, but this will take a while.
-wjr
March, 2014

Johns
Hopkins
University
system animation Signals
Systems
Control
 
demonstrations

Joy of Convolution
A Java applet that performs graphical convolution of continuous-time signals on the screen. Select from provided signals, or draw signals with the mouse. Includes an audio introduction with suggested exercises and a multiple-choice quiz. (Prepared by Steven Crutchfield, Fall 1996.)

 

Joy of Convolution (Discrete Time)
A Java applet that performs graphical convolution of discrete-time signals on the screen. Select from provided signals, or draw signals with the mouse. Includes an audio introduction with suggested exercises and a multiple-choice quiz. ( Original applet by Steven Crutchfield, Summer 1997, is available here. Update by Michael Ross, Fall, 2001.)

 

Interactive Lecture Module: Continuous-Time LTI Systems and Convolution 
A combination of Java Script, audio clips, technical presentation on the screen, and Java applets that can be used, for example, to complement classroom lectures on the discrete-time case. (Applets by Steven Crutchfield, interface by Mark Nesky, Spring 1998.)

 

Fourier Series Approximation
A Java applet that displays Fourier series approximations and corresponding magnitude and phase spectra of a periodic continuous-time signal. Select from provided signals, or draw a signal with the mouse. ( Original Applet by Steven Crutchfield, Fall 1996, update by Hsi Chen Lee Summer, 1999.)

 

Listen to Fourier Series
Sound generated by Java applets is used to introduce basic notions of Fourier series, including harmonic content and filtering. (Prepared by Michael Ross, Spring 2004, based on an earlier version by Kevin Rosenbaum, Fall 1995.)

 

Interactive Lecture Module: Harmonic Phasors and Fourier Series 
Java applets, a technical presentation on the screen, and audio clips provide an interactive introduction to continuous-time phasors, rotating vectors in the complex plane. Phasors are used illustrate basic characteristics of Fourier series, including convergence properties, Gibbs effect, and windowing. (Applets by Hsi Chen Lee, Winter, 1999) This is based on an earlier demonstration using .mpeg movies developed by Nabeel Azar, Spring 1996, and available here. Included in this earlier version is a downloadable M-file for interactive Matlab execution. These efforts are motivated by the 1971 movie Harmonic Phasors II, by William H. Huggins.

 

Phasor Phactory 
For the phasor phanatic, an applet that offers 4 ways to generate and observe continuous-time harmonic phasor sums and the corresponding Fourier Series. (Prepared by Hsi Chen Lee, Winter, 2000)

 

Continuous Time Fourier Transform Properties 
Displays the effect various operations on a continuous-time signal have on the magnitude and phase spectra of the signal. Presentation MathML is used to display equations and Content MathML, JavaScript, and a Java applet provide live updates of Fourier transform magnitude and phase expressions. Requires Microsoft Internet Explorer 5.5+ with MathPlayer plugin. An earlier version that does not use MathML, is more portable, and includes a larger collection of signals is available here. (Prepared by Michael Ross, Winter 2002, Spring 2003.) An even earlier demonstration on similar material, prepared in 1996 by Christopher Hocker, is available here.

 

Discrete Time Frequency 
Includes a Java applet for exploring the notion of frequency for discrete-time signals. Specify the frequencies of two discrete-time phasors and produce the corresponding real and imaginary parts for comparison. Includes a quiz. (Prepared by Andrea Dunham, Summer 2001.)

 

Discrete-Time Fourier Series 
Presentation MathML is used to display equations and Content MathML provides an expression of the discrete-time Fourier series that interacts with a Java applet to explore periodic signals with period N = 5. A second applet can be used to explore signals with longer period. Requires the Microsoft Internet Explorer 5.5+ with Math Player plugin. (An earlier version of the demonstration that does not make use of MathML features and is compatible with other browsers can be found here.) For signals with period N = 5, enter the magnitude and phase spectra or the time signal with the mouse. Or enter coefficients in the mathematical expression for the Fourier series. Then select play to observe the individual frequency components in the complex plane and the sum of these components. A second applet handles signals with periods up to N = 32, but does not display the mathematical series or the individual frequency components. Audio clips and suggested exercises are included. (Prepared by Lan Ma and Michael Ross, Summer 1999, 2002.)

 

DTFS Properties 
A Java applet that displays the effect that various operations on an N-periodic, discrete-time signal (e.g. time shift, time scale, filtering) have on the signal and its spectra. Sketch the signal or magnitude and phase spectra with the mouse, and then select the operation. (Prepared by Lan Ma, Winter 2000.)

 

Discrete-Time Fourier Transform Properties  A Java applet that displays the effect that various operations on a discrete-time signal have on the magnitude and phase spectra of the signal. (Prepared by Lan Ma, Summer 2000.)

 

SampleMania
A Java applet for signal sampling at various sampling frequencies, and signal reconstruction from samples using various low-pass filter cutoff frequencies. Select from provided signals, or draw a signal with the mouse. This demonstration labels frequency in units of radians per second, click here if you prefer Hertz. (Prepared by Steven Crutchfield, Spring 1997.)

 

LTI Arcade 
Select an LTI system, sketch an input signal with the mouse, and observe the output signal in real time. Output target points can be set and the miss distance will be computed. (Prepared by Seth Kahn, Winter, 2000.)

 

Exploring the s-Plane 
Drag poles and zeros around the Laplace s-plane and observe changes in the unit-step response of the corresponding linear dynamic system. Includes an audio introduction with suggestions. (Prepared by Brian Woo, Fall 1997.)

 

Bode Servo Analysis 
A Java applet for control systems. Drag open-loop corner frequencies with the mouse to improve tracking performance and reject sensor noise in a unity-feedback system. (Prepared by Steven Crutchfield, Summer 1997.)

 

Bode Servo Analysis (Time Delay) 
A modification of Bode Servo Analysis for control systems with time delay (transport lag) elements included in both the forward and feedback paths. (Prepared by Seth Kahn, Spring 1998.)

 

Sense and Sensitivities 
A Java applet that illustrates the utility of the sensitivity and complementary sensitivity functions for linear control system design. Sketch a reference input and disturbance input with the mouse, and select a sensor noise level. Then drag open-loop system poles and zeros with the mouse to track the reference while rejecting the disturbance and noise. Includes an audio introduction with suggested exercises. (Prepared by Seth Kahn, Winter, 1999.)


These demonstrations were developed in a project directed by Wilson J. Rugh from 1994 to 2003 exploring the use of the World Wide Web in engineering education. Further details about the beginning of the project can be found here. A paper describing our efforts with MathML is here.

All the demonstrations should work as designed on MS Windows with the current version of Internet Explorer. With other browsers there are occasional problems in the appearance of equations or in the layout or execution of applets. On Unix or Apple computers, these problems can be more frequent and more severe. Narration on several demonstrations is by Cherie Weinert.

Support from the National Science Foundation, and the Kenan Fund, Center for Educational Resources, and E.J. Schaefer Chair at Johns Hopkins is gratefully acknowledged.

This site was selected as the Premier Engineering Courseware of 2001. Congratulations to all the students who have worked on the demonstrations!

Comments are welcome via email to Wilson J. Rugh.
(Page design by Mark Nesky, Summer 1998.)


The applet below exhibits a few technical problems, though it may be of interest to more advanced students of linear control theory.
 
Robust Stabilization  A killer applet for the Robust Stabilization Theorem of linear control theory. Enter a nominal plant P(s), and specify an uncertainty weighting function W(s) by dragging poles and zeros with the mouse. Then design a unity-feedback compensator C(s) by dragging poles and zeros to achieve closed-loop robust stability. Includes a Fine Print document that references further information about the theorem and outlines calculations supporting the applet. (Prepared by Steven Crutchfield, Winter, 2000.)


Copyright 1995-2003, Johns Hopkins University and Wilson J. Rugh, all rights reserved. Visitors are permitted to access this site for personal or non-profit educational use only. Copying or duplicating the images or code is prohibited. Use of this site for business or commercial purposes also is prohibited.