Educational Matlab GUIs
On this page are Graphical User Interfaces developed by the members of the Center for Signal and Image Processing (CSIP), a part of the School of Electrical and Computer Engineering at the Georgia Institute of Technology.

(updated 2-Jan-2008 for MATLAB version 7.2, some GUIs work on earlier versions of MATLAB)

Most of these GUIs also appear in the textbook Signal Processing First,
published by Prentice Hall Inc. / A Pearson Education Company / Upper Saddle River, New Jersey 07458

Filter Design Demo
Filter Design Demo Screenshot The Filter Design Demo is a program that designs simple FIR and IIR digital filters, along with tutorial visualizations of the filter design process. Features:

  • Parks-McClellan FIR Design showing the iterations of the Remez Exchange method
  • FIR Design with many different window types
  • IIR Design of Butterworth filters
  • Numerous plot options: magnitude/phase response, pole-zero diagram, and impulse response

MATLAB Command Name:   filterdesign

Download:   Filter Design Demo (Version 2.66)

Requirements:   Matlab 7.2 or greater

Tested on:   UNIX, Windows and Macintosh

Last update:   2-Jan-08

PEZdemo
PEZdemo Screenshot PEZdemo allows the user to select the poles and zeros of a system and then change those poles and zero dynamically. The z-plane, Fourier domain and time-domain are all updated simultaneously.

MATLAB Command Name:   pezdemo

Download:   PEZdemo (Version 2.84)

Requirements:   Matlab 6.0 or greater

Tested on:   Windows

Last update:   2-Jan-08

FourierSeries
FourierSeriesDemo Screenshot FourierSeriesDemo is a GUI that shows Fourier Series synthesis for different number of Fourier coefficients. Different signals can be selected: square wave, sawtooth, triangle and rectified sinusoids.

MATLAB Command Name:   fseriesdemo

Download:   FourierSeriesDemo (Version 1.30)

Requirements:   Matlab 5.2.1 or greater

Tested on:   Windows

Last update:   03-Jun-09

PhasorRaces
PhasorRaces Screenshot PhasorRaces began as a speed drill for testing complex addition. Now it includes many other related operations that can be tested in a "drill" scenario: adding sinusoids, z-transforms, etc. A timer starts as soon as the problem is posed, so that a student can try to solve questions quickly and accurately.

MATLAB Command Name:   phrace

Download:   PhasorRaces (Version 1.13)

Requirements:   Matlab 5.2.1 or greater

Tested on:   Windows

Last update:   30-Mar-06

SinDrill
SinDrill Screenshot SinDrill is a program that tests the users ability to determine basic parameters of a sinusoid. After a plot of a sinusoid is displayed, the user must correctly guess its amplitude, frequency, and phase.

MATLAB Command Name:   sindrill

Download:   SinDrill (Version 2.09)

Requirements:   Matlab 5.1 or greater

Tested on:   UNIX, Windows and Macintosh

Last update:   30-Mar-06

ZDrill
ZDrill Screenshot ZDrill is a program that tests the users ability to calculate the result of simple operations on complex numbers. The program emphasizes the vectorial view of a complex number. The following six operations are supported:
  • Add
  • Subtract
  • Multiply
  • Divide
  • Inverse
  • Conjugate

MATLAB Command Name:   zdrill

Download:   ZDrill (Version 2.10)

Requirements:   Matlab 5.1 or greater

Tested on:   UNIX, Windows and Macintosh

Last update:   30-Mar-06

CLTIDemo
CLTIDemo Screenshot CLTIDemo is a program that illustrates the relationship between the input and output of a continuous-time linear time-invariant (LTI) filter when the input is a sinusoidal signal. The user is allowed to control the parameters of both the input sinusoid and the analog LTI filter.

MATLAB Command Name:   cltidemo

Download:   CLTIDemo (Version 2.51)

Requirements:   Matlab 5.1 or greater

Tested on:   UNIX, Windows and Macintosh

Last update:   30-Mar-06

DLTIDemo
DLTIDemo Screenshot DLTIDemo is a program that illustrates the relationship between the input and output of a discrete-time linear time-invariant (LTI) filter when the input is a sinusoidal signal. The user is allowed to control the parameters of both the input sinusoid and the digital filter.

MATLAB Command Name:   dltidemo

Download:   DLTIDemo (Version 2.40)

Requirements:   Matlab 5.1 or greater

Tested on:   UNIX, Windows and Macintosh

Last update:   30-Mar-06

Continuous-Discrete Sampling Demo
Continuous-Discrete Sampling Demo Screenshot The Continuous-Discrete Sampling Demo is a program that shows the continuous and discrete spectra (and signals) during sampling. Features:

  • Users can change the input frequency and sampling rate.
  • Frequency axis can be labeled in hertz or radians/sec.
  • Reconstruction through D/A is also shown.

MATLAB Command Name:   con2dis

Download:   Continuous-Discrete Sampling Demo (Version 2.00)

Requirements:   Matlab 5.3 or greater (not yet tested on Macintosh)

Tested on:   UNIX, Windows

Last update:   30-Mar-06

Discrete Convolution Demo
Discrete Convolution Demo Screenshot The Discrete Convolution Demo is a program that helps visualize the process of discrete-time convolution. Features:

  • Users can choose from a variety of different signals.
  • Signals can be dragged around with the mouse with results displayed in real-time.
  • Tutorial mode lets students hide convolution result until requested.
  • Various plot options enable the tool to be effectively used as a lecture aid in a classroom environment.

MATLAB Command Name:   dconvdemo

Download:   Discrete Convolution Demo (Version 3.07)

Requirements:   Matlab 5.2.1 or greater

Tested on:   UNIX, Windows and Macintosh

Last update:   2-Jan-08

Continuous Convolution Demo
Continuous Convolution Demo Screenshot The Continuous Convolution Demo is a program that helps visualize the process of continuous-time convolution. Features:

  • Users can choose from a variety of different signals.
  • Signals can be dragged around with the mouse with results displayed in real-time.
  • Tutorial mode lets students hide convolution result until requested.
  • Various plot options enable the tool to be effectively used as a lecture aid in a classroom environment.

MATLAB Command Name:   cconvdemo

Download:   Continuous Convolution Demo (Version 2.12)

Requirements:   Matlab 5.2.1 or greater

Tested on:   UNIX, Windows and Macintosh

Last update:   2-Jan-08