Signal Processing and Probability Resources
[ Course Resources ]

If you find additional web-based resources that are helpful in learning this material, please let us know so that we can include them here.

  • Gibbs Phenomenon
  • Linear Algebra
  • J-DSP - A very general application where the user defines signal processing operations by setting up a block diagram. Requires initial investment of time to become familiar with the application, but can be very useful. Detailed description below.
  • Spectral Analysis Demo - Interactive demonstration of spectral analysis developed for this course and used in Week 2 of Lab 1.
  • NSF Probability by Surprise - Useful applets without much explanation.


Java Digital Signal Processing (J-DSP) is an on-line DSP simulator. The program is very broad and does not target a specific topic like the other tutorials. But it can be very useful for filter design, FFT evaluation, and even speech analysis. JDSP does take a little bit of time to get used to, however.

Filter Example:

For a quick example we can design an FIR or IIR filter. The figure below is the main screen of the JDSP editor, refer to it while reading the example below.

The first step is to skim over the General Information tutorial found under the exercises heading on the main page. This exercise goes through the same example as below and explains in more detail how to attach and manipulate blocks, etc.

  1. At the main page click on "start J-DSP" under the "J-DSP Main" header to get started.
  2. First we need an input signal. To do this, simply click on [Sig. Gen] on the left side of the page and then click on the white area to place a sig. gen. block. Clicking on this box will bring up another window where you can define a sequence or select a standard sequence such as a sine or exponential.
  3. Next we place a filter block on the white area and connect our input signal to it with an arrow. Note that we have not defined any part of the filter, and for now it is just passing the input signal through. To adjust our filter we need to change coefficients.
  4. Add a coeff. Block to the work area and attach it to the filter block as shown. Clicking on the coeff. block will bring up another window where the a and b coefficients can be entered to define an FIR or IIR filter.
  5. The Freq-Resp. block attached to the filter block shows the magnitude and phase of the filter. Click on this block and keep the resulting window open as you adjust the coefficients. You can then watch how the magnitude and phase change while changing the coefficients. Remember to press update when you change the coeff. block, then JDSP will update all blocks simultaneously.
  6. By adding a plot block to the output of our filter we can view the output sequence. Clicking on the plot block brings up a window where the filtered signal is plotted.

The three blocks at the bottom of the figure are a quick way to view the FFT of a given signal. Simply clicking on the plot block will allow the user to view the magnitude and phase of the fft.

J-DSP Screen Shot