















              Digital Signal Processing Laboratory
                                
                         User's Manual
                                
                                
                                
                                
                                
                                
                                                    1 July 1995
                                                               
                                                               
                                                               







Notice:


Permission to use, copy and distribute this package in its entirety for non-commercial
purposes is hereby granted without fee.

This software is provided "as-is", without any express or implied warranty.  In no event
will the author be held liable for any damages arising from the use of this software.

As DSPLab 1.0 is a beta version, the user is cautioned that it may contain the odd bug. 
In the event that a bug is encountered, please report it to: 

                         Iris Software
                         23 Ashford Close
                         Tantallon, N.S.
                         B0J 3J0
                    or:
                         riley@jchisholm.phys.dal.ca

In addition, any comments or  suggestions for improvements would be greatly
appreciated.

This software is also available for Unix/XWindows.  To obtain copies, please contact
Iris Software.

Introduction
DSPLab was created to familiarize students with the some of the concepts of digital
signal processing.  It allows the user to load or create a signal and to examine the
effects of basic processes upon it.

This software package is equipped with a user-friendly graphical user interface (GUI)
which facilitates its use.


Aim
The aim of this manual is not to describe the principles of digital signal processing, but
rather to familiarize users with the mechanics of DSPLab Beta Version 1.0 for
Windows.


Using DSPLab

Setup
This software comes as a zipped file "dsp.zip" which must be expanded using pkunzip
2.04g or later onto a 1.44M floppy disk to create a windows setup disk.  To setup
DSPLab, simply run a:\setup.exe from Windows.  This  program creates a directory,
program group and icon called DSPLab.  


Running DSPLab
To run DSPLab simply double-click on the DSPLab icon.  A window will appear which
indicates that the program is running.  This window initially contains a blank screen due
to the absence of input data.  To load a signal file select "Load" in the "File" menu and
indicate the file to be loaded.  This file must be an ASCII Text file with the following
format:

1    0              
1.2  0
1.4  0
1.6  0
etc 

where each line represents a complex point (real,imag) and the total number of points
(lines) must be of radix 2 in size not exceeding 2K. {ie 2,4,8,16,32,...,1024 or 2048.}
It is preferable that signal files be given a ".dsp" file extension.

Once the file is loaded, an input data graph will appear.  Five different types of plots
are available.  These include: a phase plot; real plot; imaginary plot; magnitude plot;
and a plot of magnitude in dBs.  To alternate between these plots simply click on the
desired option which appears beneath each graph.

Another way to load data is to create a signal using the "Build" menu.  The user can
create one of the five following signals: impulse; step; ramp; exponential; and
sinusoidal.  These signals can also be saved to a disk using the "Save" option within
the "File"menu.

At any time the user may print the DSPLab Window by selecting the "Print" option
contained within the "File" menu. 

Once a signal is displayed, the user may chose to subject it to a process.  This is done
by selecting the desired process from the "Process" menu.  These processes include
Fast Fourier Transform (FFT), Inverse Fast Fourier transform (IFFT), delay, overlap
(addition of FFTed data segments) , system equation (up to 5th order FIR/IIR system),
input/output data swap, up sampling (by 2), decimation (by 2), zero padding (to next
radix 2 size), insertion of noise (signal amplitude * noise).

The user may also combine signals using the "Combine" menu.  These combinations
include: convolution, addition, subtraction and multiplication.  Once the user has
selected a combination, an "Open file" window will appear from which the user will
chose a second input data file for combination with the first.  The resultant output graph
will appear at the bottom of the window.

In addition, the user may perform windowing on the input signal be selecting the
"Window FFT" menu.  Five possible windows are available.  They are: rectangular,
triangular, Hanning, Hamming and Blackman.

The final feature of DSPLab is the "Zoom" menu which allows the user to enlarge a
specific graph.  As well, the range and/or type of graph may be set.  This enlarged
graph can also be sent to the printer by clicking on the "Print" button.  Note: to view
a change in range, simply input the desired range (ie. from/to) in their respective boxes
and select "Redraw."



Software Limitations
The maximum number of data points this package can accommodate is 2048.  Also
processing speed is dependant on the platform used.  It should be noted that DSPLab
was developed on a 486DX4-100 with 16MB of RAM.  Running DSPLab on a
386SX20 with 1MB RAM is possible however it's equivalent to driving 15 in a 100
zone...




Errors
Whenever an error box appears, it generally indicates that the user has omitted an input
variable or entered an invalid parameter.  Example: "number of samples = 3" would
result in an error due to the fact that the data is not of radix 2 in size.
