[comp.archives] [symbolic-math] Mathematica Signal Processing Packages and Notebooks

evans@eedsp.gatech.edu (Brian Evans) (05/09/91)

Archive-name: math/dsp/sigproc/1991-05-03
Archive: vax.eedsp.gatech.edu:/Mathematica/SigProc2.0.tar.Z [130.207.226.2]
Original-posting-by: evans@eedsp.gatech.edu (Brian Evans)
Original-subject: Mathematica Signal Processing Packages and Notebooks
Reposted-by: emv@msen.com (Edward Vielmetti, MSEN)



                          (Public Domain)

             Signal Processing Packages and Notebooks 2.0
                               for
                  Mathematica Version 1.2 and higher

                                by

              Brian Evans, James McClellan, Kevin West,
                  Wallace McClure, and Lina Karam

               Digital Signal Processing Laboratory
                 School of Electrical Engineering
                 Georgia Institute of Technology
                     Atlanta, GA  30332-0250

                      evans@eedsp.gatech.edu


   (Download via anonymous ftp to vax.eedsp.gatech.edu---  see below)

---> Summary

     Many people are developing Mathematica extensions for transform
analysis, linear systems theory, or signal processing.  This  is  an
attempt at all three.  The code has  been  under development for 2.5
years.   The code is public domain but only Wolfram Research Inc and
the Georgia Tech Research Corporation  can  make  money  on it.  The
exact licensing agreement is available from Wolfram Research.

     These extensions are written from  an engineering point of view
and are biased toward analog/digital signal processing.  Mathematica
2.0 will come with some Laplace  and  Fourier transform capabilities
(written from a mathematicians point of view),  but they will not be
able to transform expressions common  in  signal  processing because
Mathematica 2.0 manipulates mathematical formulas not signal proces-
sing expressions.


---> Transform Capabilities

     Fourier, Laplace and z-transforms are useful for analyzing linear
systems and signal processing operations.  We have implemented packages
for all the transforms commonly used in signal processing:

     (discrete signals)    z-transform
                           discrete-time Fourier transform
                           discrete Fourier transform

     (continuous signals)  Laplace transform
                           Fourier transform

This transforms are implemented from the multidimensional, bilateral
definition which means that the z- and Laplace transform track the
region of convergence.  The packages also track transform properties,
so it is also possible to deduce the stability or instability of a
linear system.  Using the transforms, the packages can solve linear
constant-coefficient difference and differential equations for right-
sided (defined for t > t0) and left-sided (defined for t < t0)
functions. [2]


---> Knowledge Representation for Signals and Systems

     We have added many functions (signal primitives) and operators
(system primitives) that are common in signal processing and linear
systems theory but missing in Mathematica: [1] [2] [3]

     (basic signals)    Kronecker impulse, Dirac delta, sinc,
                        continuous and discrete step functions,
                        continuous and discrete pulse functions,
                        aliased sinc, filter representations

     (basic operators)  aliasing, convolution, DFT, DTFT, backward
                        difference, downsampling, Fourier transform,
                        interleave samples, Laplace transform,
                        periodic, reverse, scale axis, shift,
			summation, upsampling

The transform packages support all of these new objects.


---> Other Abilities of These Packages

     (continuous signals)  analog 1-D filter design
			   1-D piecewise convolution
			   plots of 1-D and 2-D signals

     (discrete signals)    1-D convolution (in version 2.1)
                           plots of 1-D and 2-D sequences

     (general plotting)    pole-zero diagrams
			   root loci
			   frequency responses


---> Signal Processing Notebooks

     In order to extend the use of these extensions in the educational
environment, we have written several notebooks on subjects that are
studied in transform theory and signal processing courses:

     (tutorial notebooks)   z-transform
                            piecewise convolution
                            analog filter design

     (directed help/guide)  signal processing examples
			    Mathematica as an educational tool
                            Laplace transform

     (reference guide)      signal processing usage information

In the tutorial notebooks, we give numerous examples such as might be
found in a standard textbook and solve problems that are at the level
of elementary homework problems.  We use the notebook's animation
ability whenever possible.  In the analog filter design notebook, for
example, we illustrate the dependence of the filter's magnitude
response on the filter order (and elsewhere on the ripple
control parameter) as an animation sequence. [3]


---> Current Educational Uses of these Extensions

(Georgia Tech)     -- Problem sets and solutions for introductory DSP classes
                   -- Teaching by projecting notebook onto screen instead
		      of using a chalk board

(Stanford)         -- Problem sets and solutions for computer music classes
                   -- Laboratory exercises as notebooks

(Rose-Hulman)	   -- Problem sets and solutions for undergraduate EE classes

(Univ. of Penn.)   -- Teaching convolution using convolution notebook for
		      graduate-level Civil Engineering class in hydrology
                   -- Teaching by projecting notebook onto screen instead
		      of using a chalk board

(Wash. State)      -- Option for students to use it or Matlab for course
                      project in junior-level EE class


---> How to get them

     The Mathematica Journal distributed version 1.0 of these extensions
in the electronic supplement of the second issue of the Mathematica
Journal.  This version had several bugs in it.
     Wolfram Research Inc. is distributing version 2.0 of these extensions
at the cost of the distribution medium plus shipping and handling.
     Version 2.0 is also available by anonymous ftp to vax.eedsp.gatech.edu
(and then change directories to Mathematica).  The packages and notebooks
reside in a compressed tar file called "SigProc2.0.tar.Z" (about 1 Mb in
size).


---> Support

     Even though this is a public domain release, I am very interested
in fixing bugs since I am currently doing a significant part of my
thesis research in the extended Mathematica environment and since
Wolfram Research Inc. is distributing it.  So please send any bug
information about these extensions to "evans@eedsp.gatech.edu".


---> References

[1]  B. Evans, J. McClellan, and W. McClure,
     ``Symbolic z-Transforms Using DSP Knowledge Bases''
     IEEE International Conference on Acoustics, Speech, and Signal
     Processing, April, 1990, pp. 1775-1778.

[2]  B. Evans, J. McClellan, and W. McClure,
     ``Symbolic Transforms with Applications to Signal Processing,''
     The Mathematica Journal, vol. 1, no. 1, pp. 70-80, Fall, 1990.

[3]  B. Evans, J. McClellan, and K. West,
     ``Mathematica as an Educational Tool for Signal Processing,''
     IEEE Southeastern Conference, April, 1991, pp. 1162-1166.


-- 
Brian L. Evans
Digital Signal Processing Laboratory
School of Electrical Engineering
Georgia Institute of Technology
Atlanta, GA  30332-0250

USENET:   ...!{allegra,hplabs,ulysses}!gatech!eedsp!evans
INTERNET: evans@eedsp.gatech.edu

-- comp.archives file verification
vax.eedsp.gatech.edu
-rw-r--r--  1 811      21        1076860 Apr 29 23:01 /Mathematica/SigProc2.0.tar.Z
found sigproc ok
vax.eedsp.gatech.edu:/Mathematica/SigProc2.0.tar.Z