Exploratories   Signal Processing
1D Fast Fourier Transform
The Fourier Transform is a powerful tool allowing us to move back and forth between the spatial and frequency domains. Many of our explanations of key aspects of signal processing rely on an understanding of how and why a certain operation is performed in one domain or another. This applet helps students feel comfortable with these explanations, helping to build a strong intuitive grasp of how signals in one domain correspond to signals in the other.

This applet allows students to understand the process of convolution by visually manipulating two functions through the process. It is useful in understanding both how convolution works and also what the effects are on specific signals being convolved together.

Discrete Convolution
This applet demonstrates how the idea of convolution -- which we have explored in the continuous domain -- can also be applied in the discrete domain that the computer operates in. The applet is identical in functionality to the 1D Convolution applet except that students adjust sample values rather than drawing continuous functions.

Filter Shape
This applet looks at how the shape of the two-dimensional cross-section of a filter affects the results generated when it is used to scale an image. Users are able to sketch and resize their own filters or use previously generated filters and see how each filter affects the scaling of a subregion of an image.

Impulse Response
This applet demonstrates how a filter "smears" energy from an impulse signal in a neighborhood around the impulse. Students place an impulse, drag a filter over it, and observe the results.

Introduction to Sampling
Pixels are samples at specific points of continuous mathematical functions. To demonstrate this, the Introduction to Sampling Applet uses an image on screen to represent a continuous function. In additon to introducing the concept of sampling, this applet also demonstrates and helps develop intuition about scanlines which we use throughout the later applets.

LSI Convolution
Two key properties that we rely on in signal processing are "linearity" and "spatial invariance". Students can examine these properties by placing and scaling two impulse functions and then dragging a filter function over them (just as in the Impulse Response applet).

This applet lets users experiment with metamers: different spectral distributions that are perceived as identical colors.

Nyquist Limit
This applet introduces the nyquist limit and the role it plays in signal sampling and reconstruction. The student discovers the basics of aliasing and is able to adjust a signal's frequency and the frequency at which it is sampled to build an intuitive understanding of all these concepts.

This applet demonstrates quantization by having students draw a "continuous" function and then quantize it, showing the quantities version as well as a graph of the error from the quantization process.

This applet explains the interaction between a surface's reflectance function and the spectral distribution of light illuminating it.

RGB Insufficiency
Given a spectral distribution and material reflectance, this applet shows how the RGB values of the product spectrum can differ depending on how these are calculated.

Single Cell Response
Given a frequency response curve, this applet examines the frequency response and total response generated from an arbitrary, user-specified input signal.

Special Function Convolution
Many special functions are convolved with signals in graphics to achieve specific effects. Students can experiment with some of these signals and manipulate their properties to create both good and bad filters. Moreover, they can observe the tradeoffs between the best filters and those which are commonly used by practitioners in the field for performance reasons.

Three Step Scaling
This applet shows how an image can be scaled in 2 dimensions in three steps. It provides magnified views of individual pixels as well as a schematic illustration of how individual pixels contribute to a weighted average used to generate the color value of a single pixel in the scaled image.

Triple Cell Response
Given three different response curves, this applet examines the resulting frequency responses and total responses given an arbitrary, user-specified input signal.

Two Box Convolution
This simple case of convolution clearly illustrates the mechanics of convolution. Two box functions are displayed on a signal graph and their area of overlap (which, for the box function, corresponds to the value of the convolution at a particular point) is shaded. Students can drag one box of the other, and see how the area of overlap changes and corresponds to the value of the convolution at that point.

Two Materials
This applet examines what happens when two different surfaces are illuminated by a single light.