RE>Seeking digital filter d

*To*: mathgroup <mathgroup at yoda.physics.unc.edu>*Subject*: RE>Seeking digital filter d*From*: Roberto Sierra <73557.2101 at compuserve.com>*Date*: 26 Feb 92 13:09:03 EST

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 VAX.eedsp.gatech.edu 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 0.7520610058 $ RSum 0 // Feedback stage -1.876490131 0.9164314523 $ FSum 0 // Another feedforward stage 1 -1.99469213 1 $ RSum 0 // Another feedback stage -1.568018293 0.6334937701 $ FSum 0 // Final feedforward stage 1 -1.999050186 1 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 tools. 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 applelink.apple.com 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 compuserve.com 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 gauss.eedsp.gatech.edu Subj: Transforms, Convolution, and more Sender: stevec at yoda.physics.unc.edu Received: from yoda.physics.unc.edu by iha.compuserve.com (5.65/5.910516) id AA22267; Sat, 28 Sep 91 04:29:35 -0400 Received: by yoda.physics.unc.edu (4.0/TAS/11-16-88) id AA09893; Fri, 27 Sep 91 22:39:12 CDT Received: by yoda.physics.unc.edu (4.0/TAS/11-16-88) id AA09889; Fri, 27 Sep 91 22:39:11 CDT Message-Id: <9109280339.AA09889 at yoda.physics.unc.edu> From: Brian Evans <evans at gauss.eedsp.gatech.edu> Date: Tue, 24 Sep 1991 14:40:13 EDT To: mathgroup at yoda.physics.unc.edu Subject: Transforms, Convolution, and more A new version (2.31) of public domain packages for Mathematica (1.2) 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 multi-sided, multidimensional functions. Accompanying the packages are 9 notebooks. Three are tutorials covering the topics of convolution, the z-transform, and analog filter design. One is an introduction to Mathematica, signal processing, and the signal processing packages. The others serve as on-line help. The extended Mathematica environment has been useful in classes on transform theory, linear systems theory, communications, and signal processing. The packages and notebooks exist as a compressed tar file (called ``SigProc2.0.tar.Z'') in the Mathematica sub-directory of the ftp directory at ``vax.eedsp.gatech.edu'' (IP #130.207.226.2). Two TeX files, ``usersguide.tex'' and ``usage.tex'', exist there as well. The users guide covers the same material as the Mathematica Journal article but also updates the changes made to the spp. The other TeX file summarizes all of the Mathematica objects introduced by the spp. This information can also be 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 second issue of the Mathematica Journal in the article ``Symbolic Transforms with Applications to Signal Processing.'' Brian Evans === END ===