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

Individual GUIs can be downloaded from the links to ZIP files given below, or

All of the GUIs are contained in the DSP/SP First toolbox
Most of these GUIs appear in the textbook DSP First (2nd edition), and also in the textbook Signal Processing First,
published by Pearson Education / 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.81)

Requirements:   Matlab 7.2 or greater

Tested on:   UNIX, Windows and Macintosh

Last update:   10-Apr-2015

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

Requirements:   Matlab 6.0 or greater

Tested on:   Windows

Last update:   10-Apr-2015

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

Requirements:   Matlab 6 or greater

Tested on:   Windows, Linux

Last update:   10-Apr-2015

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

Requirements:   Matlab 6 or greater

Tested on:   Windows

Last update:   10-Apr-2015

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

Requirements:   Matlab 6 or greater

Tested on:   UNIX, Windows and Macintosh

Last update:   10-Apr-15

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

Requirements:   Matlab 6 or greater

Tested on:   UNIX, Windows and Macintosh

Last update:   10-Apr-2015

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

Requirements:   Matlab 6 or greater

Tested on:   UNIX, Windows and Macintosh

Last update:   10-Apr-2015

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

Requirements:   Matlab 6 or greater

Tested on:   UNIX, Windows and Macintosh

Last update:   10-Apr-15

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

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

Tested on:   UNIX, Windows

Last update:   20-Jun-2015

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

Requirements:   Matlab 6 or greater

Tested on:   UNIX, Windows and Macintosh

Last update:   24-Jun-2015

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

Requirements:   Matlab 6 or greater

Tested on:   UNIX, Windows and Macintosh

Last update:   10-Apr-2015