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

Signals
Systems
Control

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.)

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.

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 (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!

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.