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