MathGroup Archive 1992

[Date Index] [Thread Index] [Author Index]

Search the Archive

RE>Seeking digital filter d

        Reply to:   RE>Seeking digital filter desi

[The package discussed below is in the MathGroup
server in the pub/Packages/SIGNAL_PROCESSING directory
also. --smc]

In response to Michael Prange's question regarding the
availability of digital filter design packages for Mathematica.
("Is there such a beast?")

The only DSP-related package for Mathematica I've heard of in
days gone by is a general Signal Processing package available
via ftp from Georgia-Tech via FTP.  The original announcement
that accompanied the release is attached, and there is also
a writeup in one of the early issues of the Mathematica Journal.

To obtain the package, look for SigProc2.0.tar.z in Mathematica
directory at via anonymous ftp.  Also
available are TeX documents -- userguide.tex and usage.tex.

But this may not be quite what Michael Prange seeks in
particular -- namely a specialized tool for the design of
digital filters.  While the Signal Processing package gives
you basic DSP operators that operate on tensors of arbitrary
dimension -- convolution, fourier, Laplace, z-transform, etc.
-- this may not be enough.

Instead of trying to find an all-Mathematica solution, one
might consider buying a commercial digital filter design
package for whatever platform is required, with the goal
of interfacing that package to Mathematica via some kind
of file format.  You'll probably find much more robust filter
design tools in these packages than you would ever find in
any Mathematica implementation.  [Correct me if I'm wrong
about that.]

While there are several filter design packages available on
a variety of platforms, it is not that easy to find a very
'friendly' and 'accessible' package that is, at the same time,
under $1,000.  I've been using a package for the Mac called
'DSP Designer' available from Zola Technologies which I
can highly recommend in that it meets all those criteria
and is particularly friendly with other applications since
signal files and filter files are all described by a very
straightforward textual file format -- a feature I've used
a number of times to add new tools to the basic set.

DSP Designer allows arbitrary signals to be created using
a formulaic C-like language (called Z), allows for arbitrary
automatic design of FIR or IIR filters, simulation of these
filter responses, automatic generation of 56000, 96000 or
5616 code, testing of this code in realtime -- you name it.
Oh -- I forgot to mention it's got terrific plotting capabilities
to boot and the fact that it can generate FIRs with Kaiser,
Hamming, Hanning, Rectangular or Triangular windows.
All for a retail of $895 or less (depending on your academic
or developer status).  Cheap by DSP standards.

Am I happy with this package?  You bet.  Also, Lester Longley
who runs Zola has been able to address every bug report I've
submitted (very few) usually before I am able to write up a
full description of the problem -- very frustrating, but also
a pleasure to deal with.

DSP Designer has a very simple textual standard for the
representation of signals and filter parameters, as I
mentioned before.  Here's a sample FIR filter taken from
one of the Zola sample files.  This filter (though you can't
see it from the file itself) is designed to strip out any
60Hz noise present in a signal sampled at 8kHz). It's basically
a cascaded series of feedforward and feedback stages which
produce the complete filter.

    $ SampleRate    8000
    $ FSum  0                          // Feedforward stage
    $ RSum  0                          // Feedback stage 
    $ FSum  0                          // Another feedforward stage
    $ RSum  0                         // Another feedback stage
    $ FSum  0                         // Final feedforward stage

By typing something like

     PlotFilter Highpass.Filter -yl -80 -yh 10

one would see the filter response on the screen with the
Y-axis in the range of -80dB to +10dB.  Very, very friendly

It would be relatively easy to setup a mechanism whereby
Mathematica could read and write some type of 'Filter[]'
object data structure to this file format.  Same goes for
signal files, which are basically streams of floating point
numbers (lists) with a little extra information (sampling
rate, number of channels, etc.).

The only limitation of DSP Designer is that it is restricted
to 1-dimensional filter design, and is therefore not useful
for image processing or higher-order work.  Also, it requires
MPW 3.0 and a Mac.  If you intend to do any 56001, 96000 or 5616
code generation or testing, you will also need Motorola software
development tools and a DSP board from Digidesign or Motorola,
which can add up to $$$.  But for numeric analysis only, DSP
Designer and MPW 3.0 is all you need.

You can contact Zola Technologies for more information:

    Lester Longley
    Zola Technologies
    6195 Heards Creek Dr., N.W.
    Suite 201
    Atlanta, GA  30328
    (404) 843-2972
    zola at

Sorry, but I don't know the NeXT market well enough to
tell you about equivalents if that is your target platform.

Good luck.  Hope this information is of value to you!

 - -
 o o
  J   roberto sierra
  O   tempered microdesigns
 \_/  73557.2101 at

Attached:  Information on Signal Processing package
for Mathematica available from Georgia-Tech via ftp:
Date:  28-Sep-91 01:46 PDT
From:  Brian Evans   >INTERNET:evans at
Subj:  Transforms, Convolution, and more

Sender: stevec at
Received: from by
        id AA22267; Sat, 28 Sep 91 04:29:35 -0400
Received: by (4.0/TAS/11-16-88)
        id AA09893; Fri, 27 Sep 91 22:39:12 CDT
Received: by (4.0/TAS/11-16-88)
        id AA09889; Fri, 27 Sep 91 22:39:11 CDT
Message-Id: <9109280339.AA09889 at>
From: Brian Evans <evans at>
Date: Tue, 24 Sep 1991 14:40:13 EDT
To: mathgroup at
Subject: Transforms, Convolution, and more

     A new version (2.31) of public domain packages for Mathematica
is available via anonymous ftp (see below) to perform

     -- linear transforms (Laplace, Fourier, z, DTFT, and DFT)
     -- linear convolution (discrete and continuous)

The transforms can fully justify their answers and can handle
multidimensional functions.

    Accompanying the packages are 9 notebooks.  Three are tutorials
covering the topics of convolution, the z-transform, and analog
design.  One is an introduction to Mathematica, signal processing,
the signal processing packages.  The others serve as on-line help.

    The extended Mathematica environment has been useful in classes
transform theory, linear systems theory, communications, and signal

    The packages and notebooks exist as a compressed tar file (called
``SigProc2.0.tar.Z'') in the Mathematica sub-directory of the ftp
at ``'' (IP #  Two TeX files,
``usersguide.tex'' and ``usage.tex'', exist there as well.  The users
covers the same material as the Mathematica Journal article but also
the changes made to the spp.  The other TeX file summarizes all of
Mathematica objects introduced by the spp.  This information can also
found in the notebooks.  PostScript versions of the two TeX files
exist in the same directory for those who do not have access to TeX.

    These signal processing packages (spp) were discussed in the
issue of the Mathematica Journal in the article ``Symbolic Transforms
Applications to Signal Processing.''

Brian Evans

=== END ===

  • Prev by Date: problem with Mathematica
  • Next by Date: need `Gee, whiz...' demos
  • Previous by thread: Re: problem with Mathematica
  • Next by thread: need `Gee, whiz...' demos