Last-modified: Sun Feb 14 1993 Version: 0.9 Welcome to the comp.dsp FAQ. We are seeking information on all topics, from the best layout (e.g., should chips and prototype boards be another FAQ?) to a good annotated list of DSP articles and reference books. Please email your suggestions to comp-dsp-faq@ohm.Berkeley.EDU. Meta-comments are all in curly braces {like this}. Acknowledgements to people responsible for articles and/or bits of information are in square brackets, [like so]. You can ftp the very latest version of this FAQ from: evans.ee.adfa.oz.au (131.236.30.24) in pub/dsp/dsp-faq.help, or from copernicus.Berkeley.EDU in dsp-faq.help.*. We are most grateful to the following contributors who helped out with this version of the FAQ: Robert Gammon 5692330@mcimail.com Kevin Gardner gardner@zinc.med.yale.edu Witold Waldman witold@hotblk.aed.dsto.gov.au and the following folks who helped out with previous versions: William Alves alves@calvin.usc.edu Annard Brouwer annard@stack.urc.tue.nl Joe Campbell jpcampb@afterlife.ncsc.mil Tim Channon tchannon@black.demon.co.uk Steve Clift clift@ml.csiro.au Joel Coltoff joel@wmi.com Chuck Corley chuckc@hpnmdlc0.sr.hp.com Malachy Devlin madmal@spd.eee.strathclyde.ac.uk John Edwards johned@cix.compulink.co.uk Brian Evans evans@markov.eedsp.gatech.edu John Fisher johnf@dsp.sps.mot.com Dan Frankowski dfrankow@cs.umn.edu Robert Gammon 5692330@mcimail.com Maurice Givens maury@tellabs.com Ed Hall edhall@rand.org Vince Herried vjh21@cas.org Eric Jacobsen ericj@hwcae.honeywell.com Pete Janzow pjanzow@prenhall.com Quinn Jensen jensenq@qcj.icon.com Richard Kim richard@math.mit.edu Gints Klimanis gints@roadkill.esd.sgi.com Greg Koker dsp_applications@analog.com Juhana Kouhia jk87377@cc.tut.fi John Lazzaro lazzaro@boom.CS.Berkeley.EDU Sergio Liberman sergio@msil.sps.mot.com Stan McClellan mcclella@ee.tamu.edu Phillip Musumeci phillip@ee.adfa.oz.au Bill Ralston wtr@mitre.org Tony Richardson amr@mpl.ucsd.edu Paul Russell paulr@syma.sussex.ac.uk Stanley Sasaki stans@tekig7.pen.tek.com Bill Schottstaedt bil@ccrma.stanford.edu Paul Simoneau pas1@kepler.unh.edu Greg Smart rcogs@citri.edu.au Andrew Ukrainec ukrainec@nimios.Eng.McMaster.CA Witold Waldman witold@hotblk.aed.dsto.gov.au Phil Woodland pcw@eng.cam.ac.uk Ronnin Yee ronnin.yee@analog.com Get your name here - contribute something! (If you don't want your email address listed in your contribution, please indicate so.) Phil Lapsley phil@ohm.Berkeley.EDU (FAQ maintainer) Bradley Hards hards4@ee.adfa.oz.au (assistant/original FAQ maintainer) ============================================================================= 0. What is comp.dsp? 1. General DSP. 1.1 DSP book and article references. 1.1.1 Bibles of DSP. 1.1.2 Adaptive signal processing. 1.1.3 Array signal processing. 1.1.4 Windowing. 1.1.5 Digital audio effects processing. 1.2 Where can I get free software for general DSP? 1.2.1 What is Gabriel? Where can I get it? 1.2.2 What is Ptolemy? Where can I get it? 1.2.3 What is Khoros? Where can I get it? 1.2.4 What are DSP Tutorials? Where can I get them? 1.2.5 What are some DSP extensions to MATLAB? Where can I get them? 1.2.6 What is the Signal Processing Package for Mathematica? Where can I get it? 1.2.7 What is the Controls System Package for Mathematica? Where can I get it? 1.2.8 What are some other DSP Notebooks for Mathematica? 1.2.9 What is the Linear Systems Toolbox for Maple? Where can I get it? 1.2.10 Where can I get text to speech conversion software? 1.2.11 Where can I get filter design software? 2. Algorithms and standards. 2.1 Where can I get some algorithms for DSP? 2.2 What is CELP and LPC? Where can I get source for them? 2.3 What is ADPCM? Where can I get source for it? 2.4 What is GSM? Where can I get source for it? 2.5 How does pitch perception work, and how do I implement it? 2.6 What standards exist for digital audio? What is AES/EBU? What is S/PDIF? 2.7 What is mu-law encoding? Where can I get source for it? 2.8 How can I do CD <-> DAT sample rate conversion? 3. Programmable DSP chips and their software. 3.1 What are some current, popular programmable DSP chips? 3.2 Software for Motorola DSPs. 3.2.1 Where can I get a free assembler for the Motorola DSP56000? 3.2.2 Where can I get a free C compiler for the Motorola DSP56000? 3.2.3 Where can I get algorithms or libraries for Motorola DSPs? What is the number for the Motorola DSP BBS? 3.2.4 Where can I get NeXT-compatible Motorola DSP56001 code? 3.3 Software for Texas Instruments DSPs. 3.3.1 Where can I get algorithms or libraries for TI DSPs? What is the number for the TI DSP BBS? 3.3.2 Where can I get a free C compiler for the TMS320C30? 3.4 Software for Analog Devices DSPs. 3.4.1 Where can I get algorithms or libraries for AD DSPs? What is the number for the Analog Devices DSP BBS? 4. Hardware. 4.1 DSP development boards. 4.1.1 IBM PC. 4.1.2 Mac Nubus. 4.1.3 SBus. 4.1.4 VMEbus. 4.1.5 Next bus. 4.1.6 SCSI bus. 4.1.7 Standalone. 4.2 Who makes AES/EBU chips? 5. Operating Systems. 6. List of manufacturers, addresses, and telephone numbers. To search for a particular question within a text editor, look for the pattern "Q#.##:", e.g., "Q1.2:". ============================================================================= Q0: What is comp.dsp? Comp.dsp is a worldwide UseNet news group that is used to discuss various aspects of digital signal processing. It is unmoderated, though we try to keep the signal to noise ratio up :-). If you need to ask a question that isn't in the FAQ, and can't figure out how to post, consult news.newusers.questions. Other relevant news groups are comp.compression, comp.speech, and sci.image.processing. ============================================================================= 1. General DSP. This section deals with general DSP, that is, DSP books, algorithms, and packages that are not related to a particular manufacturer's DSP chip. ========================================================================= Q1.1: Summary of DSP books and significant research articles. Q1.1.1: Bibles of DSP. A.V. Oppenheim and R.W. Schafer, "Digital Signal Processing", Prentice-Hall, Inc., Englewood Cliffs, N.J., 1975. A.V. Oppenheim and R.W. Schafer, "Discrete-Time Signal Processing" Prentice Hall, Englewood Cliffs, New Jersey 07632, 1989. ISBN 0-13-216292-X This is an updated version of the original, with some old material deleted and lots of new material added. L.R. Rabiner & R.W. Schafer, "Digital Processing of Speech Signals", Prentice Hall, 1978, ISBN 0-13-213603-1. R. E. Crochiere & L. R. Rabiner, "Multirate Digital Signal Processing", Prentice-Hall, 1983, ISBN 0136051626. This book is the only real reference for filter banks and multirate systems, as opposed to being a tutorial. Thomas Parsons, "Voice and Speech Processing", McGraw-Hill, 1987, ISBN 0-07-048541-0. Addresses the cocktail party effect, as well as other material. [Maurice Givens, maury@tellabs.com] -------------------------------------------------- Q1.1.2: Adaptive signal processing. S. Haykin, "Adaptive Filter Theory", 2nd Ed., Prentice Hall, Englewood Cliffs, NJ, 1991. B. Widrow and S.D. Stearns, "Adaptive Signal Processing", Prentice-Hall, Inc., Englewood Cliffs, N.J., 1985. -------------------------------------------------- Q1.1.3: Array signal processing. J.E. Hudson, "Adaptive Array Principles", IEE London and New York, Peter Peregrinus Ltd. Stevenage, U.K., and New York, 1981. R.A. Monzingo and T.W. Miller, "Introduction to Adaptive Arrays" John Wiley and Sons, New York, 1980. S. Haykin, J.H. Justice, N.L. Owsley, J.L. Yen, and A.C. Kak "Array Signal Processing", Prentice-Hall, Inc., Englewood Cliffs, N.J., 1985. R.T. Compton, Jr., "Adaptive Antennas, Concepts and Performance", Prentice-Hall, 1988, ISBN 0-13-004151-3. -------------------------------------------------- Q1.1.4: Windowing articles. F. J. Harris, "On the Use of Windows for Harmonic Analysis with the DFT", IEEE Proceedings, January 1978, pp. 51-83. Perhaps the classic overview paper for discrete-time windows. It discusses some 15 different classes of windows including their spectral responses and the reasons for their development. [Brian Evans, evans@eedsp.gatech.edu] Nezih C. Geckinli & Davras Yavuz, "Some Novel Windows and a Concise Tutorial Comparison of Window Families", IEEE Transactions on Acoustics, Speech, and Signal Processing, Vol. ASSP-26, No. 6, December 1978. [Bob Beauchaine, bobb@vice.ico.tek.com] Lineu C. Barbosa, "A Maximum-Energy-Concentration Spectral Window," IBM J. Res. Develop., Vol. 30, No. 3, May 1986, p. 321-325. An elegant method for designing a time-discrete solution for realization of a spectral window which is ideal from an energy concentration viewpoint. This window is one that concentrates the maximum amount of energy in a specified bandwidth and hence provides optimal spectral resolution. Unlike the Kaiser window, this window is a discrete-time realization having the same objectives as the continuous-time prolate spheroidal function; at the expense of not having a closed form solution. [Joe Campbell, jpcampb@afterlife.ncsc.mil] -------------------------------------------------- Q1.1.5: Digital Audio Effects Processing. Books (in no particular order, sorry): Hal Chamberlin, Musical Applications of Microprocessors, 2nd Ed., Hayden Book Company, 1985. Barry Blesser and J. Kates. "Digital Processing in Audio Signals." In A. V. Oppenheim, ed. Applications of Digital Signal Processing. Englewood Cliffs, NJ: Prentice-Hall, 1978. Digital Signal Processing Committee of IEEE Acoustics, Speech, and Signal Processing Society, ed. Programs for Digital Signal Processing. New York: IEEE Press, 1979. John Strawn, ed., "Digital Audio Signal Processing: An Anthology.", Los Altos, CA: W. Kaufmann, 1985. [Contains Moorer J.A. "About This Reverb..." and contains an article which gives a code for Phase Vocoder -- great tool for EQ, for Pitchshifter and more --Juhana Kouhia] Charles Dodge and Thomas A. Jerse. Computer Music: Synthesis, Composition, and Performance. New York: Schirmer Books, 1985. F. Richard Moore, "Elements of Computer Music", Englewood Cliffs, NJ: Prentice-Hall, 1990. ISBN: 0-13252-552-6 [Recommended. --Juhana Kouhia] Curtis Roads and John Strawn, ed., "The Foundations of Computer Music", Cambridge, MA: MIT Press, 1985. [Contains article on analysis/synthesis by Strawn, recommended; also an another article maybe by J.A. Moorer -- Juhana Kouhia] John Strawn, ed., "Digital Audio Signal Processing", 283 pages, $34.95, ISBN 0-86576-082-9, pub: A-R Editions. Contents: 1. Introduction to the mathematics of DSP (F. Richard Moore) [Not a bad little text] 2. Introduction to digital filter theory (Julius O. Smith) [Not a bad little text, either] 3. Spiral Synthesis (Tracy Lind Petersen) [first published account of a new synthesis technique] 4. Signal processing aspects of computer music (J. A. Moorer) [James Moorer's classic article--discusses many synthesis techniques. Reverb algorithms. More than 6 pages of refs] 5. An introduction to the phase vocoder (J. W. Gordon, J. Strawn) [Includes source code for a phase vocoder--a powerful method for synthesis, pitch shifting, time scale modification, etc.] [Comments by Quinn Jensen]. Curtis Road, ed., "Composers and the Computer", 201 pages, $27.95, ISBN 0-86576-085-3, pub: A-R Editions. John Strawn, ed., "Digital Audio Engineering", 144 pages, $29.95, ISBN 0-86576-087-X pub: A-R Editions. Deta S. Davis, "Computer Applications in Music: A Bibliography", 537 pages, $49.95, ISBN 0-89579-225-7, pub: A-R Editions. Ken C. Pohlmann, "The Compact Disc: A Handbook of Theory and Use", 288 pages, $45.95 (cloth) ISBN 0-89579-234-6, $29.95 (paper) ISBN 0-89579-228-1, pub: A-R Editions. Forthcoming books: Curtis Roads, "A Computer Music History: Musical Automation from Antiquity to the Computer Age" Joseph Rothstein, "MIDI: A Comprehensive Introduction" David Cope, "Computer Analysis of Musical Style" Dexter Morrill and Rick Taube, "A Little Book of Computer Music Instruments" Articles: James A. Moorer, "About This Reverberation Business", Computer Music Journal 3, 20 (1979): 13-28. (Also in Foundations of CM below). [Ok article, but you have to know basic DSP operations. --Juhana Kouhia] Check more articles from Journal of the Audio Engineering Society (JAES), for example more articles by Strawn. Note: books published by A-R editions can be ordered from: A-R Editions 801 Deming Way Madison, Wisconsin 53717 608-836-9000 (They accept VISA orders) [The above is largely from Quinn Jensen, jensenq@qcj.icon.com; Juhana Kouhia, jk87377@cc.tut.fi; William Alves, alves@calvin.usc.edu; and Paul A Simoneau, pas1@kepler.unh.edu] ========================================================================= Q1.2: Where can I get free software for general DSP? The packages listed below are mostly for general purpose DSP, that is, DSP that is not specific to a particular programmable DSP chip. See the later sections in the FAQ for software relevant to a particular programmable DSP chip. According to Brian Evans: "There was an entire session on this subject [free DSP software] at ICASSP '92, chaired by Dr. Sally Wood and Dr. James McClellan. It appears in Volume 4 of the Proceedings, pages 73-112. There will be another such session at ICASSP '93." [Brian Evans, evans@eedsp.gatech.edu] Much of the information below is from Brian's mail. -------------------------------------------------- Q1.2.1: What is Gabriel? Where can I get it? Package: Gabriel Description: Hierarchical block diagram environment for prototyping signal processing systems on single or multiple processors. Algorithms expressed in block diagram form can be simulated, and assembly code can also be generated for the Motorola DSP56001 and DSP96002. Gabriel has almost been obsoleted by Ptolemy, below. Platforms: sun 3, sun 4, X windows. Written in Lisp (lisp compiler supplied). Contact: Alan Kamas, aok@ohm.berkeley.edu. To obtain: Anonymous ftp to copernicus.berkeley.edu, and retrieve gabriel-license.shar. This is a shar file of licenses that you must sign and mail back to us (the old-fashioned way) before we can give you the source. Then we can tell you the password for an account that will allow you to FTP Gabriel. -------------------------------------------------- Q1.2.2: What is Ptolemy? Where can I get it? Package: Ptolemy Description: Ptolemy provides a highly flexible foundation for the specification, simulation, and rapid prototyping of systems. It is an object oriented framework within which diverse models of computation can co-exist and interact. For example, using Ptolemy a data-flow system can be easily connected to a hardware simulator which in turn may be connected to a discrete-event system, etc. Because of this, Ptolemy can be used to model entire systems. In addition, Ptolemy now has code generation capabilities. From a flow graph description, Ptolemy can generate both C code and DSP assembly code for rapid prototyping. Note that code generation is not yet complete, and is included in the current release for demonstration purposes only. Ptolemy has been used for a broad range of applications including signal processing, telecomunications, parallel processing, wireless communications, optical phase lock loops, real time systems, and hardware/software co-design. Ptolemy has also been used as a lab for signal processing and communications courses. Currently Ptolemy has hundreds of users in over 75 sites, both in industry and academia. Ptolemy is available for the Sun 4 (sparc) and DecStation (MIPS) architectures. A port to the HP workstation is in progress. Installing the system requires 49 Mbytes for Ptolemy (64 Mbytes after you optionally rebuild) and 16 Mbytes for the Gnu tools subset. At least 8 Mbytes of physical memory are required. Ptolemy has been developed at UC Berkeley over the past 3 years. Further information, including papers and the complete release notes, is available from the FTP site. A license is no longer required to receive Ptolemy. The source code, binaries, and documentation are available by anonymous ftp from ptolemy.berkeley.edu [ftp "ptolemy.bekeley.edu". login as "anonymous". cd "pub". get README] Contact: Alan Kamas, aok@ohm.berkeley.edu. -------------------------------------------------- Q1.2.3: What is Khoros? Where can I get it? Package: Khoros Description: Block diagram simulator for image and video processing. 1-D signal processing is also supported. See the UseNet group comp.soft-sys.khoros. Platforms: sun 3, sun 4, others? X windows. Written in C. To obtain: Anonymous ftp to pprg.eece.unm.edu, cd /pub/khoros/release, get install.ftp. -------------------------------------------------- Q1.2.4: What are DSP Tutorials? Where can I get them? Package: DSP Tutorials Description: Computer aided instruction. Platforms: suns under SunView. Contact: Dr. Sally Wood, Electrical Engineering Department, Santa Clara University, Santa Clara, CA 95053. -------------------------------------------------- Q1.2.5: What are some DSP extensions to MATLAB? Where can I get them? Package: MATLAB user's group public domain extensions to MATLAB Description: The MATLAB Digest is issued at irregular intervals based on the number of questions and software items contributed by users. To make submissions to the digest, please send to hwilson@ua1vm.ua.edu with a subject: "DIG" and description. For the Pacific, try netlib@draci.cs.uow.edu.au located at the University of Wollongong, NSW, Australia. A plethora of toolboxes are available at FTP site: research.att.com (use netlib for the username) General index for the MATLAB User Group software library ---------------------------------------------------------- Currently there are the following subdirectories: approximation approximation theory archive old MATLAB user group digests control control theory dataanalysis data analysis and statistics graphics graphics programs integration numerical integration linearalgebra linear algebra utilities misc miscellaneous ode ordinary differential equations optimization as the name says pde partial differential equations rootfinding zero-finding routines specialfunctions special functions teaching for classroom use tools miscellaneous tools In order to get an index for a subdirectory (tools, say) send the message send index from MATLAB/tools to netlib@ornl.gov. In order to get some code, (unbundle in the `tools' directory, say), send the message send unbundle from MATLAB/tools to netlib@ornl.gov. FOR STUDENTS: Prentice Hall has published a student edition of matlab which contains a book and set of disks for PCs and Macs. The software is limited only in matrix size (32 x 32 matrix; 1024 elements) and in its ability to import or call C or Fortran subroutines. On the plus side, it is able to run without a coprocessor (it will use one if it is present) and it includes a subset of the Signal Processing and Controls Toolboxes, The Signals and Systems Toolbox, which provides for added functionality. Book only (about US$30): ISBN = 0138560064; Book + disk: (about US$50 ISBN=0-13-855974-0 for 3.5" or ISBN=0-13-855982-1 for 5.25 Macintosh version: ISBN=0-13-855990-2. There will be related books out by mid to late 1993 : Computer Aided Signal Processing with MATLAB, by Burrus, Oppenheim, McClellan, Parks, Schafer, and Schussler; and Signal Processing : A Computer Approach, by Etter. More books in this MATLAB Curriculum Series are planned. For general info: matlab@prenhall.com [From the Matlab Users Group (Editor, hwilson@ua1vm.ua.edu)] -------------------------------------------------- Q1.2.6: What are the Signal Processing Packages for Mathematica? Where can I get them? Package: Signal Processing Pacakages (SPP) and Notebooks. Description: Public domain extensions to Mathematica. Enables the symbolic manipulation of signal processing expressions: 1-D discrete/continuous convolutions and 1-D/m-D linear transforms (Laplace, Fourier, z, DTFT, and DFT). For linear transforms, you can specify your own transform pairs and see the intermediate computations. Great for showing students how to take transforms, or for deriving input-output relationships in a transform domain. Additional abilities include analog filter design, solving DE's using transforms, converting signal processing expressions to their equivalent TeX forms, and number theoretic operations (Bezout numbers, Smith Form decompositions, and matrix factors). Accompanying SPP are tutorial notebooks on analog filter design, Fourier analysis, piecewise convolution, and the z-transform (includes a discussion of fundamentals of digital filter design). These Notebooks illustrate difficult concepts (such as the flip-and-slide view of convolution) through animation. A Notebook reader is available in the public domain for Macintosh computers (a BinHexed version is on the ftp site). FOR STUDENTS: A student version of Mathematica is available for $175. The price includes a copy of the reference manual. The only drawbacks to the student version are that the floating point coprocessor is dis- abled and that upgrades cannot be ordered. Contact: Brian Evans, evans@eedsp.gatech.edu. To obtain: anonymous ftp to gauss.eedsp.gatech.edu (130.207.226.24). (available in UNIX, Mac, and MS-DOS archive formats). -------------------------------------------------- Q1.2.7: What is the Control Systems Analysis Packages for Mathematica? Where can I get them? Package: Control Systems Analysis Package (COSYPAK) and Notebooks Description: Public domain extension to Mathematica. Classical and state-space control analysis and design methods. The Notebooks supplement the material in the textbook "Modern Controls Theory" by Ogata. Largely based on the Signal Processing Packages (SPP, see above). Contact: Dr. Sreenath, sree@veda.esys.cwru.edu. To obtain: anonymous ftp veda.esys.cwru.edu (129.22.40.9). -------------------------------------------------- Q1.2.8: What are some other Mathematica DSP Notebooks? The following Mathematica notebooks can be ftped from ccrma-ftp.stanford.edu: pub/DSP/GenHamming.ma.Z Generalized Hamming windows pub/DSP/Kaiser.ma.Z The Kaiser window pub/DSP/WinFlt.ma.Z Digital filter design by the "window method" (There are other DSP related items in pub/DSP on ccrma-ftp; see other sections of this FAQ for details). -------------------------------------------------- Q1.2.9: What is the Linear Systems Toolbox for Maple? Where can I get it? Package: Linear systems toolbox for Maple. Description: Public domain extension to Maple. Contact: Tony Richardson, amr@mpl.ucsd.edu. To obtain: anonymous ftp to cameron.egr.duke.edu, file pub/maple/linsys1.2.tar.Z. -------------------------------------------------- Q1.2.10: Where can I get text to speech conversion software? Free (but not public domain) text to speech conversion software is available via anonymous ftp from wilma.cs.brown.edu in the pub directory as speak.tar.Z. It will compile and run on a SPARC's built-in audio after modifying speak.c with the path of your libaudio.h (e.g., /usr/demo/SOUND/libaudio.h). It's a simple phoneme concatenation system with commensurate synthesized speech quality (a directory of phoneme audio files is included). [Joe Campbell, jpcampb@afterlife.ncsc.mil] -------------------------------------------------- Q1.2.11: Where can I get filter design software? One source is the following: in the August 92 issue of IEEE Transactions on Signal Processing there is a paper entitled "METEOR: A Constraint-Based FIR Filter Design Program" by Kenneth Steiglitz, Thomas W. Parks and James F. Kaiser. They describe an FIR design program which allows specification of the target frequency response characteristics in a fairly generalised and flexible way. As well as designing filters, the program can optimise filter lengths and push band limits. The paper contains a footnote which says "Pascal and C versions of source code are available to anonymous ftp at princeton.edu in the directory /pub as meteor.p, form.p, meteor.c and form.c". True, they are. They appear to work. The Pascal versions have been put through p2c to get the C versions; all the needed Pascal library stuff is included in the C versions and they built error-free out of the box for me on an SGI machine. One catch is, there is no manual - you need the paper to know how to drive the programs. [Steve Clift, clift@ml.csiro.au] ----- Another public domain filter design package is DFIR, for FIR filter designs. It includes design capabilities for: equiripple linear phase multiband filters, linear phase differentiators, linear phase Hilbert transform filters, MMSE interpolating filters and equiripple Nyquist filters. It is written in Fortran 77 and has been tested on DECStations and Suns. It is available via anonymous ftp from aldebaran.ee.mcgill.ca in "pub/dfir". Additionally, a package to plot filter responses is available in "pltfilter-V2R0.tar.Z". [Peter Kabal, via Witold Waldman] { There are other free filter design programs floating around out there, such as optfir/wfir. Does anyone know of ftp sites? } -------------------------------------------------------------------------- Q1.2.12 Where can I get some DOS stuff? There is a DOSD library available. The author wrote: The DSP library is currently on Compuserve engineering forum. It includes a Microsoft and Turbo C library. At the moment it is just a demo object format library (and the microsoft version only works with an x87), but the source code lisence is purchaseable. I have done it this way because at the moment I am unsure of exactly how I want to make it available, LSI are quite interested in supplying it with their boards, or I may just offer it a freeware. If you are interested, I could maybe just send you a disk, the problem is that it is quite large and costs a bit to download from somewhere like Compuserve. The library contains many functions for things like FFTs, filtering (including LMS adaptive), windowing, convolution (inc 2d) and correlation. It also has loads of examples, of how to use the functions, including things like FIR filter design methods and amplitude modulation. {If someone downloads this, mail a note to Brad Hards, hards4@ee.adfa.oz.au, and he will put it up for anonymous FTP. } ============================================================================= 2. Algorithms and standards. This section deals with DSP algorithms and related standards. ======================================================================= Q2.1: Where can I get some algorithms for general DSP? The following archives contain things such as matrix operations, FFT's and generally useful things like that, as opposed to complete applications: (1) host ux1.cso.uiuc.edu - log in as anonymous, get the file math/README. It summarises the contents of the archive. (2) Netlib, which serves some of this software via email. Try mail to netlib@ORNL.GOV with "send help" in the subject field. For Europe: Internet: netlib@nac.no EARN/BITNET: netlib%nac.no@norunix.bitnet X.400: s=netlib; o=nac; c=no; EUNET/uucp: nac!netlib For the Pacific, try netlib@draci.cs.uow.edu.au For background about netlib, see Jack J. Dongarra and Eric Grosse, "Distribution of Mathematical Software Via Electronic Mail," Comm. ACM (1987) 30,403--407. A similar collection of statistical software is available from statlib@temper.stat.cmu.edu. The symbolic algebra system REDUCE is supported by reduce-netlib@rand.org. (3) The Naval Surface Warfare Center has a library of mathematical Fortran subroutines that may be of use. From the report itself: NSWC Library of Mathematical Subroutines Report No.: NSWC TR 90-21, January 1990 by Alfred H. Morris, Jr. Naval Surface Warfare Center (E43) Dahlgren, VA 22448-5000 U.S.A. Distribution: Approved for public release; distribution unlimited. Abstract: The NSWC library is a library of general-purpose Fortran subroutines that provide a basic computational capability in a variety of mathematical activities. Emphasis has been placed on the transportability of the codes. Subroutines are available in the following areas: Elementary Operations, Geometry, Special Functions, Polynomials, Vectors, Matrices, Large Dense Systems of Linear Equations, Banded Matrices, Sparse Matrices, Eigenvalues and Eigenvectors, l1 Solution of Linear Equations, Least-Squares Solution of Linear Equations, Optimization, Transforms, Approximation of Functions, Curve Fitting, Surface Fitting, Manifold Fitting, Numerical Integration, Integral Equations, Ordinary Differential Equations, Partial Differential Equations [Witold Waldman, witold@hotblk.aed.dsto.gov.au] Apparently euler.math.usma.edu has these routines in the file "pub/misc/nswc.tar.Z". This is a 3.2 Mbyte file with 800+ Fortran routines mentioned above. Apparently euler.math.usma.edu has been down a lot lately, however, and the network connection to it is quite slow. If somebody would like to make this available from a more reliable site, please let us know at comp-dsp-faq@ohm.Berkeley.EDU. If you don't know where to find what you're after, try archie. ======================================================================= Q2.2: What are CELP and LPC? Where can I get the source for CELP and LPC? CELP stands for "code excited linear prediction". LPC stands for "linear predictive coding". They are compression algorithms used for low bit rate (2400 and 4800 bps) speech coding. The U.S. DoD's Federal Standard 1016 (FS 1016) based 4800 bps code excited linear prediction voice coder version 3.2 (CELP 3.2) Fortran and C simulation source codes are available for worldwide distribution at no charge (on DOS diskettes, but configured to compile on Sun SPARC stations) from: Bob Fenichel National Communications System Washington, D.C. 20305 1-703-692-2124 1-703-746-4960 (fax) Example input and processed speech files, a technical information bulletin, and the official standard "Federal Standard 1016, Telecommunications: Analog to Digital Conversion of Radio Voice by 4,800 bit/second Code Excited Linear Prediction (CELP)" are included at no charge. Unfortunately, a document that is a vital part of the CELP release package is not available in electronic form. Anyone serious interested in CELP should obtain the document: Details to Assist in Implementation of Federal Standard 1016 CELP. National Communications System, Office of Technology & Standards, 1992. Technical Information Bulletin 92-1. It is available from the above address. The 4800 bps CELP code is available via anonymous FTP on furmint.nectar.cs.cmu.edu (128.2.209.1111) in celp.audio.compression. It is unsupported, and has not been compiled or tested. This version takes a lot of CPU time. It is about 15 times slower than real-time. That is, to code 1 minute of speech takes about 15 minutes. It has directions on how to reduce the codebook search to make it faster, but they are only for the speech coding expert. The following article describes the FS 1016 4.8-kbps CELP coder: Campbell, Joseph P. Jr., Thomas E. Tremain and Vanoy C. Welch, "The Proposed Federal Standard 1016 4800 bps Voice Coder: CELP," Speech Technology Magazine, April/May 1990, p. 58-64. The U.S. DoD's Federal-Standard-1015/NATO-STANAG-4198 based 2400 bps linear prediction coder version 53 (LPC-10e v53) Fortran or C simulation source codes are available on a limited basis upon written request to: Tom Tremain Department of Defense Ft. Meade, MD 20755-6000 USA The U.S. Federal Standard 1015 (NATO STANAG 4198) is described in: Thomas E. Tremain, "The Government Standard Linear Predictive Coding Algorithm: LPC-10," Speech Technology Magazine, April 1982, p. 40-49. Copies of the official standards FS 1015 and FS 1016 are available for US $2.50 each from: GSA Rm 6654 7th & D St SW Washington, D.C. 20407 1 (202) 708-9205 Realtime DSP code for FS-1015 and FS-1016 is sold by several vendors, including: John DellaMorte DSP Software Engineering 165 Middlesex Tpk, Suite 206 Bedford, MA 01730 1-617-275-3733 1-617-275-4323 (fax) dspse.bedford@channel1.com and Analogic Systems 2916 Ramona Palo Alto, CA 94306 (415) 323-3232 DSP Software Engineering's FS-1016 code can run on a DSP Research's Tiger 30 or on Intellibit's AE2000 TMS320C31 based 3" by 2.5" card. See section 4.1 for more on these cards. Analogic's product runs on a 27 MHz DSP56001 chip. [Most of the above from Joe Campbell, jpcampb@afterlife.ncsc.mil, with additions from Dan Frankowski, drankow@cs.umn.edu, and Ed Hall, edhall@rand.org] ======================================================================= Q2.3: What is ADPCM? Where can I get source for it? ADPCM stands for Adaptive Differential Pulse Code Modulation. It is a family of speech compression and decompression algorithms. A common implementation takes 16-bit linear PCM samples samples and converts them to 4-bit samples, yeilding a compression rate of 4:1. There is public domain C code available via anonymous ftp at ftp.cwi.nl in /pub/adpcm.shar written by Jack Jansen (email Jack.Jansen@cwi.nl). It is very programmer-friendly. The ADPCM code used is the Intel/DVI ADPCM code which is being recommended by the IMA Digital Audio Technical Working Group. It allows the following calls: adpcm_coder(short inbuf[], char outbuf[], int nsample, struct adpcm_state *state); adpcm_decoder(char inbuf[], short outbuf[], int nsample, struct adpcm_state *state); The routines have been tested on an SGI Indigo running Irix 4.0.2 and on a Sparcstation 1+ running SunOS 4.1.1. On a Sun, the code will compress at 250Ksample/sec and decompress at 300Ksample/sec. On an SGI, the compressor runs at 350Ksample/sec and the decompressor at 700Ksample/sec. Note that this is NOT a CCITT G722 coder. The CCITT ADPCM standard is much more complicated, probably resulting in better quality sound but also in much more computational overhead. [From Dan Frankowski, drankow@cs.umn.edu; Jack Jansen, Jack.Jansen@cwi.nl] ======================================================================= Q2.4: What is GSM? Where can I get source for it? The README file for GSM says: GSM 06.10 13 kbit/s RPE/LTP speech compression available -------------------------------------------------------- The Communications and Operating Systems Research Group (KBS) at the Technische Universitaet Berlin is currently working on a set of UNIX-based tools for computer-mediated telecooperation that will be made freely available. As part of this effort we are publishing an implementation of the European GSM 06.10 provisional standard for full-rate speech transcoding, prI-ETS 300 036, which uses RPE/LTP (residual pulse excitation/long term prediction) coding at 13 kbit/s. GSM 06.10 compresses frames of 160 13-bit samples (8 kHz sampling rate, i.e. a frame rate of 50 Hz) into 260 bits; for compatibility with typical UNIX applications, our implementation turns frames of 160 16-bit linear samples into 33-byte frames (1650 Bytes/s). The quality of the algorithm is good enough for reliable speaker recognition; even music often survives transcoding in recognizable form (given the bandwidth limitations of 8 kHz sampling rate). The interfaces offered are a front end modelled after compress(1), and a library API. Compression and decompression run faster than realtime on most SPARCstations. The implementation has been verified against the ETSI standard test patterns. Jutta Degener (jutta@cs.tu-berlin.de) Carsten Bormann (cabo@cs.tu-berlin.de) Communications and Operating Systems Research Group, TU Berlin Fax: +49.30.31425156, Phone: +49.30.31424315 An implementation can be FTPed from tub.cs.tu-berlin.de:/pub/tubmik/gsm-1.0.tar.Z +/pub/tubmik/gsm-1.0-patch1 or as a faster but not always up-to-date alternative: liasun3.epfl.ch:/pub/audio/gsm-1.0pl1.tar.Z [From Dan Frankowski, dfrankow@cs.umn.edu] ============================================================================ Q2.5: How does pitch perception work, and how do I implement it on my DSP chip? Pitch is officially defined as "That attribute of auditory sensation in terms of which sounds may be ordered on a musical scale." Several good examples illustrating the subtleties of pitch perception are included in the "Auditory Demonstrations CD" which is available from the Acoustical Society of America, Woodbury, NY 10797 for $20. A good general reference about the psychology of pitch perception is the book: B.C.J. Moore, "An Introduction to the Psychology of Hearing", Academic Press, London, 1989. This book is available in paperback and makes a good desk reference. An algorithm implementation that matches a large body of psychoacoustical work, but which is computationally very intensive, is presented in the paper: Malcolm Slaney and Richard Lyon, "A Perceptual Pitch Detector," Proceedings of the International Conference of Acoustics, Speech, and Signal Processing, 1990, Albuquerque, New Mexico. The definitive papers describing the use of such a perceptual pitch detector as applied to the classical pitch literature is in: Ray Meddis and M. J. Hewitt. "Virtual pitch and phase sensitivity of a computer model of the auditory periphery. " Journal of the Acoustical Society of America 89 (6 1991): 2866-2682. and 2883-2894. The current work that argues for a pure spectral method starts with the work of Goldstein: J. Goldstein, "An optimum processor theory for the central formation of the pitch of complex tones," Journal of the Acoustical Society of America 54, 1496-1516, 1973. Two approaches are worth considering if something approximating pitch is appropriate. The people at IRCAM have proposed a harmonic analysis approach that can be implemented on a DSP Boris Doval and Xavier Rodet, "Estimation of Fundamental Frequency of Musical Sound Signals," Proceedings of the 1991 International Conference on Acoustics, Speech, and Signal Processing, Toronto, Volume 5, pp. 3657-3660. The classic paper for time domain (peak picking) pitch algorithms is: B. Gold and L. Rabiner, "Parallel processing techniques for estimating pitch periods of speech in the time domain," Journal of the Acoustical Society of America, 46, pp 441-448, 1969. Finally, a word of caution: Pitch is not single-valued. We can hear a sound and match it to several different pitches. Imagine the number of instruments in an orchestra, each with its own pitch. Even a single sound can have more than one pitch. See for example Demonstration 27 from the ASA Auditory Demonstrations CD. [The above from Malcolm Slaney, Apple Computer, and John Lazzaro, U.C. Berkeley.] ======================================================================= Q2.6: What standards are there for digital audio? What is AES/EBU? What is S/P-DIF? The "AES/EBU" (Audio Engineering Society / European Broadcast Union) digital audio standard is probably the most popular digital audio standard today. Most consumer and professional digital audio devices (CD players, DAT decks, etc.) that feature digital audio I/O support AES/EBU. AES/EBU is a bit-serial communications protocol for transmitting digital audio data through a single transmission line. It provides two channels of audio data (up to 24 bits per sample), a method for communication control and status information ("channel status bits"), and some error detection capabilities. Clocking information (i.e., sample rate) is derived from the AES/EBU bit stream, and is thus controlled by the transmitter. The standard mandates use of 32 kHz, 44.1 kHz, or 48 kHz sample rates, but some interfaces can be made to work at other sample rates. AES/EBU provides both "professional" and "consumer" modes. The big difference is in the format of the channel status bits mentioned above. The professional mode bits include alphanumeric channel origin and destination data, time of day codes, sample number codes, word length, and other goodies. The consumer mode bits have much less information, but do include information on copy protection (naturally). Additionally, the standard provides for "user data", which is a bit stream containing user-defined (i.e., manufacturer-defined) data. According to Tim Channon, "CD user data is almost raq CD subcode; DAT is StartID and SkipID. In progfessional mode, there is an SDLC protocol or, if DAT, it may be the same as consumer mode." There physical connection media are commonly used with AES/EBU: balanced (differential), using two wires and shield in three-wire microphone cable with XLR connectors; unbalanced (single-ended), using audio coax cable with RCA jacks; and optical (via fiber optics). "S/P-DIF" (Sony/Philips Digital Interface Format) typically refers to AES/EBU operated in consumer mode over unbalanced RCA cable. Note that S/P-DIF and AES/EBU mean different things depending on how much of a purist you are in the digital audio world; see the Finger article below. References: Finger, Robert, "AES3-199X: The Revised Two Channel Digital Audio Interface (DRAFT)", presented at the 91st Convention of the Audio Engineering Society, October 4-8, 1991. Reprints: AES, 60 East 42nd St., New York, NY, 10165. [The above from Phil Lapsley, phil@ohm.Berkeley.EDU, and Tim Channon, tchannon@black.demon.co.uk] ============================================================================= Q2.7: What is mu-law encoding? Where can I get source for it? Mu-law (also "u-law") encoding is a form of logarithmic quantization or companding. It's based on the observation that many signals are statistically more likely to be near a low signal level than a high signal level. Therefore, it makes more sense to have more quantization points near a low level than a high level. In a typical mu-law system, linear samples of 14 to 16 bits are companded to 8 bits. Most telephone quality codecs (including the Sparcstation's audio codec) use mu-law encoded samples. Desktop Sparc machines come with routines to convert between linear and mu-law samples. On a desktop Sparc, see the man page for audio_ulaw2linear in /usr/demo/SOUND/man. Craig Reese posted the source of similar routines to comp.dsp in August '92. These are archived on evans.ee.adfa.oz.au (131.236.30.24) in /pub/dsp/misc References: CCITT Recommendation G.711 (very difficult to follow). Michael Villeret, et. al, "A New Digital Technique for Implementation of Any Continuous PCM Companding Law,", IEEE Int. Conf. on Communications, 1973, vol. 1, pp. 11.12-11.17. MIL-STD-188-113, "Interoperability and Performance Standards for Analog-to-Digital Conversion Techniques," 17 February 1987. "TI Digital Signal Processing Applications with the TMS320 Family", pp. 169-198. [From Joe Campbell; Craig Reese, cfreese@super.org; Sepehr Mehrabanzad, sepehr@falstaff.dev.cdx.mot.com] ============================================================================= Q2.8: How can I do CD <-> DAT sample rate conversion? CD players use a 44.1 kHz sample rate, whereas DAT uses a 48 kHz sample rate. This means that you must do sample rate conversion before you can get data from a CD player directly into a DAT deck. [From Ed Hall, edhall@rand.org:] For a start, look at "Multirate Digital Signal Processing" by Crochiere and Rabiner (see FAQ section 1.1). Almost any technique for producing good digital low-pass filters will be adaptable to sample-rate conversion. 44.1:48 and vice-versa is pretty hairy, though, because the lowest whole-number ratio is 147:160. To do all that in one go would require a FIR with thousands of coefficients, of which only 1/147th or 1/160th are used for each sample--the real problem is memory, not CPU for most DSP chips. You could chain several interpolators and decimators, as suggested by factoring the ratio into 3*7*7:2*2*2*2*2*5. This adds complexity, but reduces the number of coefficients required by a considerable amount. In any case, your local DSP guru will probably be able to suggest a good program for designing digital filters (this is a good general question for the net, anyway). This is one case where going beyond the simpler windowed-sinc-based approaches might pay off (and I'm afraid I can't recommend any readily available programs myself). ============================================================================= 3. Programmable DSP chips and software. This section deals with programmable DSP chips and their software. Q3.1: What are the available DSP chips and chip architectures? { This is based on a woefully inadequate databook collection. Anyone want to add to this list? Manufacturers want to submit anything? } The "big four" programmable DSP chip manufacturers are Texas Instruments, with the TMS320 series of chips; Motorola, with the DSP56000 and DSP96000 series; AT&T, with the DSP16 and DSP32 series; and Analog Devices, with the ADSP2100 series. A good overview of prorammable DSP chips is published periodically in EDN magazine. The most recent version is from Sep. 17, 1992, pp. 90-141. Here's a less ambitious chip breakdown by manufacturer: ------------------------------------- Texas Instuments: TMS320C1x: family of low cost fixed-point DSP's; 16 bit data, 32 bit registers; Various RAM and ROM configurations; 16 bit I/O bus, serial ports. TMS320C25: 50MHz fixed-point DSP; 16 bit data, 32 bit registers; 12.5 MIPS @ 50MHz. TMS320C30: 27/33/40 MHz floating point DSP; 32 bit floating point, 24 bit fixed point data, 40 bit registers; DMA controller; dual serial ports; some support for multi-processor arrays. TMS320C31: version of C30 minus peripheral bus, one serial port, and the 4Kx32 internal ROM. ~$20, 132 pin PQFP. TMS320C40: 40/50 MHz floating point DSP; extensive parallel processing support through 6 buffered byte-wide 20 Mb/s links and 6 channel DMA; cache. TMS320C50: enhanced TMS320C25 (double throughput); low overhead looping; 10 Kwords SRAM on chip. ------------------------------------- Motorola: DSP56001: 20.5, 27, or 33 MHz 24-bit fixed point DSP. 24 bit data bus, 16 bit address bus, 56 bit accumulators (2), host interface port, serial ports (2), general purpose I/O pins, timer. Harvard architecture. 512 words program RAM, 32 words bootstrap ROM, 512 words data RAM, 512 words data ROM on chip. Available in PGA, CQFP or PQFP packaging. DSP56000: Mask-programmed version of DSP56001, same peripherals and data memories, 3.75k words program ROM on chip. DSP56002: modular DSP based on new 24-bit DSP56k core, a superset of the DSP56001 architecture with On-Chip Emulation (OnCE) debug port, clock PLL and improved bus arbitration. Has four cycle double precision multiply and support for block floating point. Same memory as in DSP56001, except for 64 words bootstrap ROM. Host interface port, serial ports (2), general purpose I/O pins, programmable 24-bit timer, non-maskable interrupt. Low power fully static design, no minimum clock frequency requirement. Available at 40 MHz (5V supply) in PGA and CQFP packaging. DSP56004: modular DSP, same 24-bit DSP56k core as in DSP56002. Targeted to consumer digital audio applications. Has On-Chip Emulation (OnCE) debug port, clock PLL, serial host interface (I2C and SPI), four general purpose I/O pins, two stereo serial audio receivers (I2S/Sony), three stereo serial audio transmitters (I2S/Sony), external SRAM/DRAM memory interface with 8-bit data bus. Low power fully static design, no minimum clock frequency requirement. Available at 40 MHz (5V supply) in 80-pin QFP package. DSP56156: 40, 50, or 60 MHz fixed point DSP; 16 bit data bus, 40 bit accumulators (2), host interface port, serial ports (2), timer, OnCE debug port, clock PLL, 14 bit sigma-delta voice band CODEC, 2K words program RAM, 2K words data RAM on chip. DSP96002: IEEE format floating point DSP; two complete 32 bit data and address buses; Harvard architecture. 1k words program RAM, 64 words bootstrap ROM, 1k words data RAM, 1k words data ROM, host interface ports (2). Available in 33 MHz or 40 MHz in 223-pin PGA packaging. [The above from Sergio Liberman, sergio@msil.sps.mot.com ] ------------------------------------- AT&T: DSP32C: floating point DSP; 32 bit floating point, 16/24 bit fixed point data. DSP3210: floating point DSP; 32 bit floating point, 16/32 bit fixed point data; 32 bit address and data bus, serial port. [and others; we don't have a good list, unfortunately]. ------------------------------------- Analog Devices: ADSP2100: 32 and 50Mhz fixed point DSP (8 MIPS, 12.5MIPS). 16 bit registers except for multiplyer-accumulate register which is 40 bits. No on chip memory except for a 16 word instruction cache. ADSP2101: Derived from ADSP2100, 16 bit registers except for the multiplier accumulator which is 40 bits. 2Kx24 instruction/data ram in program memory space, 1Kx16 data ram in data memory space. Adds memory, timer, serial ports, etc. to the 2100. Fastest speed grade in production is 16.6 MHz (16.6MIPS). ADSP2102: Ram/rom version of 2101; user selects how much of the 2kx24 program memory is mask rom. ADSP2103: 3V version of the 2101. ADSP2105: 10Mhz fixed point DSP with 1 serial port, timer and 1kx24 instruction/data ram in program memory space, and 512 word data ram in data memory space. This processor sells for US $9.90 in any quantity. ADSP2111: adds a 8/16bit host interface port to 2101. ADSP21msp50: ADSP2111 with an on chip a/d and d/a interface and additional low power modes. ADSP2161: has 8Kx24 mask rom. DSP21020: 20/25/33 MHz floating-point DSP; Supports 32-bit fixed point, IEEE format 32-bit floating point, and 40-bit floating point; 40-bit registers plus two 80-bit fixed-point multiply-accumulators; Harvard arch. with 32 word instruction cache allows two data accesses in a single cycle; IEEE 1149.1 JTAG boundry scan; 33.3 MIPS @ 33.3 MHz. ADSP21010: Slower and cheaper version of '020 (16 MHz). Limited to 32-bit fixed and floating point. All of the processors (except the 2100) use a 1X instruction clock and use an on chip PLL to generate an internal 4X clock. All processors have an extended Harvard architecture which allows two data fetches and an instruction fetch every cycle in parallel with an alu or mac operation. All instructions including accessing external memory can complete in 1 cycle. [Analog Devices DSP applications, dsp_applications@analog.com] ======================================================================= Q3.2: Software for Motorola DSPs. ======================================================================= Q3.2.1: Where can I get a free assembler for the Motorola DSP56000? A free assembler for the Motorola DSP56000 exists, thanks to Quinn Jensen, jensenq@qcj.icon.com. The current version is 1.1, and it is posted to alt.sources, so look for it on mirrors of that newsgroup (like wuarchive.wustl.edu). ======================================================================= Q3.2.2: Where can I get a free C compiler for the Motorola DSP56000? There are two separate compiler sources for the Motorola DSP56000. One is the port of gcc 1.40 done by Andrew Sterian (asterian@eecs.umich.edu) and the other is a port of gcc 1.37.1 done by Motorola and returned to the FSF. Andrew's port has bowed to Motorola's version. Both may be portable to gcc2.x.x with some effort required. Neither of these comes with an assembler, but you can get a free DSP56000 assembler elsewhere (see Q3.2.1 above). The Motorola gcc source is available for FTP from: nic.funet.fi ~pub/ham/dsp/dsp56k-tools/dsp56k-gcc.tar.Z evans.ee.adfa.oz.au pub/micros/56k/g56k.tar.Z From Andrew Sterian, asterian@eecs.umich.edu: My DSP56156 port is still the only DSP56156 compiler around and I have just released an updated version of it. Both this compiler and the previous incarnation are archived on wuarchive.wustl.edu (in the usenet/alt.sources directory) amongst other places. ======================================================================= Q3.2.3: Where can I get algorithms and libraries for Motorola DSPs? What is the number for the Motorola DSP BBS? Motorola runs "Dr. Bub", a bulletin board for DSPs containing source code for various libraries and algorithms. You can call it at (512) 891-3771 (9600, 4800, 2400, 1200 bps) or (512) 891-3773 (2400/1200/300 bps). Format is 8 data bits, no parity, 1 stop bit). Log in as "guest" to browse the system, or you can open an account by entering "new" at the account name prompt. [John Fisher, johnf@dsp.sps.mot.com] Alternatively, Dr. BuB is mirrored on the following sites: calvin.stanford.edu (36.14.0.43) in /motorola bode.ee.ualberta.ca (129.128.16.96) in /pub/dos/motorola nic.funet.fi (128.214.6.100) in /pub/misc/motorola doc.ic.ac.uk (146.169.3.7) in /computing/systems/motorola/digital-signal-processing/dr.bub.sources Also try nic.funet.fi in /pub/ham/dsp for a lot of good stuff on communications uses, including some hardware. ccrma-ftp.stanford.edu also has a variety of DSP code (much of it NeXT specific, see below), including the following for the DSP56000: pub/clm.tar.Z "CLM", a package aimed mainly at composers doing computer music in Common Lisp, but includes a Lisp 56000 assembler, debugger, loader, large libraries of DSP56000 routines useful in computer music, and a compiler from a subset of Common Lisp to DSP56000 code. [bil@ccrma.stanford.edu] ======================================================================= Q3.2.4: Where can I get NeXT-compatible Motorola DSP56001 code? Try the following from ccrma-ftp.Stanford.EDU: DSP programs for the NeXT platform: pub/DSP/resample.tar.Z Audio sampling-rate conversion and FIR filter design. pub/DSP/ResoLab2.1.tar.Z Interactive filter instrument; sources now included, online help. pub/DSP/Spectro.Z Spectrum analysis tool, with source code. pub/DSP/WaveFormEditor.tar.Z Jean Laroche's real-time waveform editor, with DAJ's additions. DSP programming examples for the NeXT platform: pub/DSP/dsp_dma_stream.tar.Z Fast DSP DMA programming example (two-way DMA). pub/DSP/JeanLaroche.tar.Z Low-level sound and DSP programming examples and docs. [bil@ccrma.Stanford.EDU] ======================================================================= Q3.3: Software for Texas Instruments DSPs. ======================================================================= Q3.3.1: Where can I get algorithms or libraries for TI DSPs? What is the number for the TI DSP BBS? nic.funet.fi has some old, apparently public domain, assembler and related tools from TI for the TMS320 family. [Antti-Pekka Virtanen, antsu@utu.fu] The TI DSP bulletin board is at (713) 274-2323 (300, 1200, 2400, or 9600 bps; 8 data, 1 stop, no parity). evans.ee.adfa.oz.au has a mirror of the TI DSP bulletin board in "mirrors/tibbs". See the "00README" file at the top of the directory tree for info. Please restrict FTP session to outside of 8 am to 6 pm local time (10 pm to 8 am GMT). This is mirrored from ti.com, in /tms320bbs. The TI site is the official one, but has no user contributed software. [Brad Hards, hards4@ee.adfa.oz.au] { If anyone knows of any other sources for TI DSP software, please let us know at comp-dsp-faq@ohm.Berkeley.EDU. Thanks! } ======================================================================= Q3.3.2: Where can I get a free C compiler for the TI TMS320C30? Sonitech (see vendors list) has a gcc based TMS320C30 C compiler that was originally done Computer Motion. Sonitech sells it for $995, but under the terms of the Gnu Public License, other people can then give it away. While we haven't heard of any ftp sites yet, there are bound to be some soon. ======================================================================= Q3.4: Software for Analog Devices DSPs. ======================================================================= Q3.4.1: Where can I get algorithms or libraries for Analog Devices DSPs? What is the number for the Analog Devices DSP BBS? The number for the Analog Devices DSP BBS is (617) 461-4258 (300, 1200, 2400, 9600, 14400 bps), 8N1. [Analog Devices DSP Applications, dsp_applications@analog.com] { If anyone knows of other sources for Analog Devices DSP software, please let us know at comp-dsp-faq@ohm.Berkeley.EDU. Thanks! } ======================================================================= 4. Hardware. This section deals with DSP hardware, including boards, peripherals, and some peripheral chips. Q4.1: DSP development boards. Note: This information was mainly supplied by vendor catalogues. It is in no way definitive, and much of the information may well be out of date or simply wrong. Beware! Q4.1.1: IBM PC DSP development boards. IBM PC boards, Analog Devices 2100 series processors: ---------------------------------------------------------------------------- Name: ADSP-2101 DSPB 2101-4 Type: Four processor ADSP-2101 IBM PC AT board Company: CMS GmbH Processor: 4x ADSP 2101 Analog I/O: 2 16 bit A/Ds per processor. Name: ADSP-2101 LAB-DSP Type: ADSP-2101 or ADSP-2105 IBM PC/AT XT Company: Computer Continuum Processor: ADSP 2101 or ADSP 2105 Features: Shared memory between PC and DSP. Serial I/O. Daughter board. Name: Feature Finder ADSP-2105 Type: ADSP-2105 frame grabber for IBM PC Company: Current Technology, Inc. Processor: ADSP 2101 Features: RS-170 video interface, 512x512 video memory, feature extraction s/w Name: LAB2105 DSP Card Type: ADSP-2105 board for IBM PC Company: EnterTec, Inc. Processor: ADSP-2105 Analog I/O: Codec with microphone input and headphone output. Name: ADSP-2105 DSP Platform Type: Dual ADSP-2105 or ADSP-2101 IBM PC board Company: Hollis Electronics Processor: 2x ADSP-2105 (or ADSP-2101s) Analog I/O: 2 14 bit D/A, 2 12 bit A/D Features: 2x RS-232 UARTs, real-time clock, 2x 16 bit timers, 4 char LED Name: ADSP-2100 DX2100 Type: ADSP 2100 (?) IBM PC board Company: Logabex Processor: ADSP-2100 (?) Name: ADSP-2100 System board Type: ADSP-2100A IBM PC card Company: Loughborough Sound Images Processor: ADSP-2100A 40 MHz 16K words RAM Analog I/O: 12 bit 125 kHz A/D, D/A Name: ADSP-2101 System board Type: ADSP-2101 IBM PC card Company: Loughborough Sound Images Processor: ADSP-2101 12.5 MHz, 8K words RAM Analog I/O: A/D -- D/A: dual 14 bit 19.2 kHz CODECs (TI TLC32044Cs) Comments: 32Kx8 EPROM socket allows some standalone behavior Name: GODSPEED (ADSP-2101) Type: ADSP-2101 IBM PC board Company: Prime Ideal Processor: ADSP-2101, dual-port RAM to PC bus Analog I/O: 48 kHz codec w/ speaker and mic connectors Name: ADSP-2105 Espresso Board Type: ADSP-2105 IBM PC XT/AT board Company: Saddle Point Systems Processor: ADSP-2105 or ADSP-2101, 28K words memory. Analog I/O: on board codec Name: ADSP-2101 SPB2 Type: Dual ADSP-2101 IBM PC AT board Company: Signal-Data Processor: 2x ADSP-2101s, 32Kw RAM/proc, 8Kw ROM/proc. Analog I/O: 12 bit A/D, 12 bit D/A on one processor Name: PC-1601A, DSPS-2601 Type: ADSP-2101 IBM PC board (?) Company: Wavetron Microsystems Comments: DSPS-2601 is a multi-channel version. (?) IBM PC boards, Analog Devices 21000 series processors: ---------------------------------------------------------------------------- Name: GAMMA 20/25 Type: ADSP-21020 IBM PC AT board Company: BittWare Research Systems, Inc. Processor: DSP-21020 25 MHz, 32K or 128K RAM Analog I/O: daughter card available Features: DT-connect interface, mezzanine bus for daughter cards Name: ADSP-21020 System Board Type: ADSP-21020 IBM PC AT board Company: Loughborough Sound Images Processor: ADSP-21020, 160 Kw program RAM, 160 Kw data RAM Analog I/O: dual 16 bit analog I/O daughter card option. Features: Interval timer. IBM PC boards, AT&T processors: ---------------------------------------------------------------------------- Name: DSP-32C Type: AT&T DSP-32C IBM PC-AT card Company: Ariel Corp (908) 249-2900 Processor: DSP-32C Name: V3-B0-00 Type: AT&T DSP-32C IBM PC-AT (16 bit) card Company: Communication Automation and Control, Inc. (800) 367-6735 Processor: DSP-32C 50 MHz, 128 K? SRAM (expandable) Analog I/O: available via mezzanine card Features: mezzanine bus Price: $1245 Name: AC5-A0 Type: AT&T DSP-32C IBM PC-AT (16 bit) card Company: Communication Automation and Control, Inc. (800) 367-6735 Processor: DSP-32C 50 MHz, 64 K? SRAM (expandable) Analog I/O: available via mezzanine card Features: mezzanine bus Price: $995 Name: XC5-A0 Type: AT&T DSP-32C IBM PC-AT (8 bit) card Company: Communication Automation and Control, Inc. (800) 367-6735 Processor: DSP-32C 49.152 MHz, 64 K? SRAM (expandable) Analog I/O: available via mezzanine card Features: mezzanine bus Price: $995 Name: DSP32C System board Type: DSP32C IBM PC AT card Company: Loughborough Sound Images Processor: DSP32C 50 MHz, 40K words RAM Analog I/O: dual 16 bit 153 kHz A/D, D/A (Burr Brown PCM78 & PCM56) Comments: "DSP32 Processor board" is as above, but without analog I/O. Instead it has a wire wrap prototyping area. Name: DSP32C Telephony Board Type: DSP32C IBM PC AT card Company: Loughborough Sound Images Processor: DSP32C 50 MHz, 40K words RAM Analog I/O: AT&T 7525 CODEC Features: 4 line telephone interface with opto-isolated ring detector in either US or UK configuration. Name: AT-DSP2200 Type: AT&T DSP-32C IBM PC-AT card Company: National Instruments (800) 433-3488 Processor: DSP-32C Analog I/O: 16 bit sigma-delta A/D, D/A Features: 16 bit real-time system integration (RTSI) peripheral bus interface. Name: Array Processor Card AP2 Type: AT&T DSP-32C IBM PC-AT card Company: Tucker-Davis Technologies Processor: DSP-32C 50 MHz, 512 Kbytes SRAM, 8.5 Mbytes DRAM Analog I/O: available via expansion card Features: fiber optic interface to a variety of peripherals Comments: available with the "AP2 operating system" (APOS), which is also a sort of high-level language for rapidly building DSP applications. Name: Qw3210-SA Type: DSP3210 IBM PC (ISA) card Company: Quantawave, (508) 481-9802 Processor: DSP3210 64 MHz, 136 kbytes SRAM, dual-port DRAM between PC, DSP Analog I/O: dual 16 bit 200 kHz A/D, D/A with programmable gain, cutoff Price: $2995 Name: MP3210 Type: DSP3210 IBM PC card Company: Ariel, (908) 249-2900 Processor: 1 or 2 DSP3210 55 MHz, 64 kbytes SRAM (1 ws), 1 Mbyte DRAM (4-6 ws) Analog I/O: dual 16 bit 100 kHz A/D, D/A (400 kHz -> 12 bit) Features: DT-connect interface, NABus interface IBM PC boards, Motorola DSP56000 processors: ---------------------------------------------------------------------------- Name: DSP-56 Type: DSP56001 IBM PC AT card Company: Ariel Corp (908) 249-2900 Processor: 27 (?) MHz DSP56001 Analog I/O: dual 16 bit 100 kHz A/D, D/A Features: DSPnet parallel interface, SCSI interface, async serial interface Name: PC-56 Type: DSP56001 IBM PC AT card Company: Ariel Corp (908) 249-2900 Processor: 27 MHz 56k with 16K or 64K words RAM Analog I/O: optional 14 bit single channel analog I/O. Name: Cheetah mother board Type: DSP96002/dual DSP56001 IBM PC AT card Company: Atlanta Signal Processors, Inc. (ASPI) (404) 892-7265 Processor: DSP96002 33 MHz, 256k-2M bytes RAM, dual DSP56001s 20 MHz Features: serial interfaces. Name: DSP56001 System board Type: DSP56001 IBM PC card Company: Loughborough Sound Images Processor: DSP56001 20Mhz 192K words RAM Analog I/O: two 16 bit 153 kHz A/D w/ 3rd order analog filters, two 16 bit D/A w/ 3rd order analog filters, telephony codec Comments: "DSP56001 Processor board" is same, but without analog I/O Name: Dual DSP56001 Processor board Type: two processor DSP56001 IBM PC card Company: Loughborough Sound Images Processor: 27 MHz 56k, 32K words RAM per CPU Interface: Two ADS ports, each processor has RS422 or SLD ISDN Comments: 2Kx16 bit dual port RAM between host and each processor, 2Kx24 bit dual port RAM between 56ks Name: DSP56001 Application Development System (ADS) Type: DSP56001 board for IBM PC Company: Motorola Corp. (512) 891-2030 Processor: DSP56001 Comments: Motorola produce DSP56000 assembler, linker, simulator, C compiler. This is an external board that interfaces to a variety of hosts, including the IBM PC, via host-specific adaptor cards. IBM PC boards, Motorola DSP56156/DSP56116 processors: ---------------------------------------------------------------------------- Name: DSPB56166 System board Type: DSP56156 IBM PC AT card Company: Integrated Technologies Solutions, Inc. Processor: DSP56156 ?? MHz, ?? words RAM, Features: Xilinx FPGA for custom digital I/O Name: DSP56116 System board Type: DSP56116 IBM PC AT card Company: Spectrum Signal Processing (604) 438-7266 Processor: DSP56116 80? MHz, 30K words RAM, Analog I/O: two CODECs attached to 56116 serial ports IBM PC boards, Motorola DSP96000 processor: ---------------------------------------------------------------------------- Name: MM-96 Type: Two processor DSP96002 IBM PC AT card Company: Ariel Corp (908) 249-2900 Processor: 2x DSP96002 Name: DSP96002 System board Type: DSP96002 IBM PC card Company: Loughborough Sound Images Processor: DSP96002 33 MHz , 64Kword 0ws RAM + 256Kword 1ws RAM Analog I/O: dual 16 bit 100 kHz A/D converters (Motorola 56ADC16s) Name: DSP96002 Application Development System (ADS) Type: DSP96002 board for IBM PC Company: Motorola Corp. (512) 891-2030 Processor: DSP96002 Comments: This is an external board that interfaces to a variety of hosts, including the IBM PC, via host-specific adaptor cards. IBM PC boards, Texas Instruments TMS320C1x processors: ---------------------------------------------------------------------------- Name: TMS320C1x Development System Type: IBM PC card Company: Loughborough Sound Images Processor: TMS320C14 Comments: Integrated emulation and programming system. Type: PC board with TMS32010 Company: Natural Microsystems Corp. (800) 533-6120 Processor: TMS32010 IBM PC boards, Texas Instruments TMS320C25 processors: ---------------------------------------------------------------------------- Name: DSP-16+ Type: TMS320C25 IBM PC AT card Company: Ariel Corp (908) 249-2900 Processor: 40 MHz 320C25 Analog I/O: two channel 16 bit 50 kHz A/D, D/A. Name: Chimera system Type: TMS320C25 or TMS320C26 IBM PC AT card Company: Atlanta Signal Processors, Inc. (ASPI) (404) 892-7265 Processor: TMS320C25/TMS320C26, 40/50 MHz, 4K-64K words RAM Analog I/O: optional 16 bit 200 kHz A/D, D/A is optional via daughter card. Name: BN2500 DSP development and acquisition processor Company: Bridgenorth Signal Processing, (604) 538-0003 Type: TMS320C25 IBM PC card Processor: TMS320C25 40 (opt 50) MHz, 32 Kw 0 ws SRAM, 32Kw 1 ws SRAM, 64 Kw 1 ws SRAM, 256 Kw 1 ws DRAM Analog I/O: dual 16 bit A/D, D/A via BN3216 expansion module Features: external buffer management unit to expand address range of C25 Name: Model 250 DSP board Type: TMS320C25 board for IBM PC AT Company: Dalanco Spry Processor: TMS320C25 40 MHz, 4K words program RAM (64K optional), 32K words data RAM (128K optional) (1 ws), Analog I/O: 12 bit 300 kHz A/D, dual 12 bit 250 kHz D/A Features: 16 bit expansion bus, serial port Name: TMS320C25 System board Type: TMS320C25 IBM PC card Company: Loughborough Sound Images Processor: TMS320C25 40 or 50 MHz 16K words RAM Analog I/O: 1 channel 16 bit 54 kHZ A/D, D/A (100 kHz 12 bit) Comments: "TMS320C25 Processor board" is as above, but without analog I/O Name: TMS320C25 Data Acquisition Processor Type: TMS320C25 IBM PC card Company: Loughborough Sound Images Processor: TMS320C25 40 MHz, 64K words program RAM, 64K words data RAM, 256K words buffer RAM Features: Has buffer management unit, handling circular buffer management, multiple data channel support, data compare functions, sample counter. IBM PC boards, Texas Instruments TMS320C30 processors: ---------------------------------------------------------------------------- Name: Banshee mother board Type: TMS320C30 IBM PC AT card Company: Atlanta Signal Processors, Inc. (ASPI) (404) 892-7265 Processor: TMS320C30 33 MHz, 256k-512k bytes RAM Analog I/O: 16 bit 200 kHZ A/D, D/A available via optional boards. Comments: Optional boards allow multiple Banshee boards to be connected, provide extra memory, and provide analog I/O. Name: BN3000 DSP development and acquisition processor Company: Bridgenorth Signal Processing, (604) 538-0003 Type: TMS320C30 IBM PC card Processor: TMS320C30 ?? MHz (60 ns cycle), 512 Kw SRAM (1 ws) Analog I/O: dual 16 bit A/D, D/A via BN3216 expansion module Features: serial, parallel interfaces Name: Tiger 30 Type: TMS320C30 board for IBM PC Company: DSP Research Processor: TMS320C30 Name: TMS320C30 System board Type: TMS320C30 IBM PC AT card Company: Loughborough Sound Images Processor: TMS320C30 33 MHz, 64K words RAM Analog I/O: 2x 16 bit A/D (Burr Brown PCM78), 2x 16 bit D/A (Burr Brown PCM56) Comments: "TMS320C30 Processor board" is as above, but without analog I/O and has instead a prototyping area. Name: SPIRIT-30 AT/ISA Company: Sonitech International Type: TMS320C30 IBM PC card Processor: TMS320C30 33 MHz, 256 Kbytes SRAM (expandable) Analog I/O: available via serial port interfaces Features: serial, parallel ports Name: EVM30 Company: Texas Instruments Type: TMS320C30 IBM PC card (?) Processor: TMS320C30 30 MHz, 16 Kw RAM Analog I/O: 14 bit codec, up to 19.2 kHz sample rate Comments: inexpensive TI development platform for the C30 IBM PC boards, Texas Instruments TMS320C40 processors: ---------------------------------------------------------------------------- Name: Vortex system board Type: TMS320C40/TMS320C31 IBM PC AT card Company: Atlanta Signal Processors, Inc. (ASPI) (404) 892-7265 Processor: TMS320C40 ?? MHz, TMS320C31 33 MHz, 128 kbytes SRAM Analog I/O: optional 16 bit 200 kHz A/D, D/A via daughter card. Name: HEPC2-U Type: TMS320C40 IBM PC AT card Company: Traquair Data Systems Processor: 1 TMS320C40 plus up to 3 TMS320C40 TIM modules Features: embedded XDS-510 capability to allow connection to external target Name: DT3801 Type: TMS320C40 IBM PC AT card Company: Data Translation Processor: TMS320C40 40 MHz, 130 Kw SRAM, 4 Mbytes DRAM Analog I/O: A/D: 12 or 16 bits, 160 kHz to 1 MHz; D/A: 2x 16 bits, 100 kHz Features: 20 lines digital I/O, 2 counters/timers, separate clocks for A/D, D/A Name: TMS320C40 Parallel DSP System Type: IBM PC/AT card Company: Loughborough Sound Images Processor: 2 TMS320C40 50 Mhz 64K words RAM Analog I/O: Daughtercard expansion socketing. Comments: Uses TIM-40 compatible modules Name: SPIRIT-40 AT/ISA Type: TMS320C40 IBM PC AT card Company: Sonitech International Processor: TMS320C40 40 MHz, 1 Mbyte SRAM (expandable) Analog I/O: available via serial port interface Features: serial, parallel ports IBM PC boards, Texas Instruments TMS320C50 processors: ---------------------------------------------------------------------------- Name: TMS320C50 System board Type: TMS320C50 IBM PC AT card Company: Loughborough Sound Images Processor: TMS320C50 50 MHz 32K words RAM Features: 65sq cm wire wrap area. IBM PC boards, Texas Instruments TMS320M500 (Mwave) processor: ---------------------------------------------------------------------------- Name: Mwave multimedia platform Type: TMS320M500 (Mwave) IBM PC AT card Company: Atlanta Signal Processors, Inc. (ASPI) (404) 892-7265 Processor: TMS320M500 33(?) MHz, 64 kbytes data SRAM, 96 kbytes prog SRAM Analog I/O: stereo 16 bit A/D D/A, codec, telephone line interface Features: MIDI interface, microphone input, speaker output IBM PC boards, other processors: ---------------------------------------------------------------------------- Name: PDSP16488 Imaging/Graphics board Type: PDSP-16488 IBM PC card Company: Spectrum Signal Processing (604) 438-7266 Processor: PDSP-16488 Q4.1.2: Mac Nubus DSP development boards. Mac Nubus boards, AT&T processors: ---------------------------------------------------------------------------- Name: MacDSP MB/A Type: DSP32C Apple Mac NuBus board Company: Spectral Innovations (408) 727-1314 Price: $3495-$4995 Processor: DSP32C 60 MHz DSP with up to 1 Mbyte SRAM Comments: Optional 12 bit A/D card at 16 bit A/D, D/A with 1,2 or 8 channels Mac Nubus boards, Motorola DSP56000 processor: ---------------------------------------------------------------------------- Name: MAC-56 Type: Macintosh NuBus DSP56001 card Company: Ariel Corp. (908) 249-2900 Processor: 56001 with 48-192K words RAM Comments: Comes with DSPworks software Name: AudioMedia II Type: Macintosh NuBus DSP56001 card Company: DigiDesign Inc. (415) 688-0600 Processor: 56001 @ 33.87 MHz with 8/4/4 K words P/X/Y RAM Analog I/O: stereo 16 bit 44.1/48 kHz A/D, D/A (?) Features: SPDIF I/O. Supported by DSP Designer software from Zola Technologies Inc. Name: Sound Accelerator II Type: Macintosh NuBus DSP56001 card Company: DigiDesign Inc. (415) 688-0600 Processor: 56001 @ 33.87 MHz with 8/16/16 K words P/X/Y RAM Features: Optional digital/analogue audio I/O unit available. Supported by DSP Designer software from Zola Technologies Inc. Name: Pro Tools Type: Macintosh NuBus 2 x DSP56001 card Company: DigiDesign Inc. (415) 688-0600 Processor: 2 x 56001 32 MHz, 8/16/16 K words P/X/Y RAM each Features: Optional digital/analogue audio I/O unit available. Supported by DSP Designer software from Zola Technologies Inc. Name of Board: DSP56001 Application Development System (ADS) Type: DSP56001 board for Mac II Company: Motorola Corp. (512) 891-2030 Processor: DSP56001 Comments: This is an external board that interfaces to a variety of hosts, including the Mac, via host-specific adaptor cards. Mac Nubus boards, Motorola DSP96000 processor: ---------------------------------------------------------------------------- Name: DSP96002 Application Development System (ADS) Type: DSP96002 board for Mac II Company: Motorola Corp. (512) 891-2030 Processor: DSP96002 Comments: This is an external board that interfaces to a variety of hosts, including the Mac, via host-specific adaptor cards. Mac Nubus boards, Texas Instruments processors: ---------------------------------------------------------------------------- Name: NB-DSP2300, 2301, 2305 Type: TMS320C30 board for Mac NuBus Company: National Instruments (800) 433-3488 Processor: TMS32C30 at 33 (2300), 27 (2301), or 40 (2305) MHz., 64K or 320K of memory, TMS320C30 to IEEE 754 translator hardware. Features: 16 bit "real time system integration" (RTSI) peripheral bus. Q4.1.3: SBus DSP development boards. SBus boards, AT&T processors: ---------------------------------------------------------------------------- Name: S-32C Type: SBus Accelerator Board Company: Ariel Price: $2,995 ($5,795 with C compiler) Processor: AT&T DSP-32C 50MHz, 256 Kbytes to 4 Mbytes SRAM Analog I/O: Interfaces with Ariel's ProPort & Digital Microphone Name: MAXCOM Multimedia Processor Type: Dual DSP3210 Sbus card Company: KINETICSYSTEMS Processor: Dual DSP3210 Analog I/O: multimedia audio codec and a telephone quality codec. Comments: Complete ATT DSP board using real-time operating system (VCOS) and ATT Multimedia Module Library to provide functions for V.29/V.32 data/fax modems, speech recognition/synthesis, etc. SBus boards, Motorola DSP56000 processor: ---------------------------------------------------------------------------- Name: S-56X Type: SBus Accelerator Board Company: Ariel (designed (and also sold) by Berkeley Camera Engineering) Price: $2,495 / $2,995 Processor: Motorola DSP56001 27 or 32 MHz, 32 Kw RAM Analog I/O: Digital Microphone, ProPort or AES/EBU Features: DMA controller, Xilinx 3042 gate array for special purpose I/O. (1.2 Mby/sec transfer rate using the S-56X, w/ ~3ms latency at DMA page boundaries). Name: VS-30 Type: SBus Dual Channel Telephone Signal Processor Company: Vigra (619) 483-1197 Price: $1375 Availability: In beta test Sep/Nov 1992 Processor: DSP56001 (27 MHz) Analog I/O: 3 x 8KHz u-Law CODECs. (Line 1, Line 2, handset) Features: Two RJ-11 telephone jacks, and local handset jack, DTMF transmit & detect, hook switch control, ring detect, Call progress monitoring SunOS drivers, programming library, demos. All source code included. SBus boards, Texas Instruments TMS320 processors: ---------------------------------------------------------------------------- Name: SPIRIT-30 SBus Type: 33 MFLOP Application Accelerator -- SBus Company: Sonitech International Inc. (617) 235-6824 Price: $8,995 ($9,795 for the 40 MFLOP board) Processor: TMS320C30 Analog I/O: Optional serial port box (extra $1795), IC-100-1 16 bit single channel @ 100kHz or, DSP/AIB-1: A/D 2 ch., D/A 1 ch., sampling rate up to 20 kHz,anti-aliasing filters, telephone handset interface ($480). Stereo audio and telephone interface card (1-22) for $695 comes with SW library and demo programs. Features: Other options for the A/D/A system are available. Filter modules are extra. Board runs the SPOX operating system. All of their boards are code compatible with each other (PC and SUNs and VME). Up to six SPIRIT-30 cards can be configured for a 240 MFlop parallel processing system. Name: SDSP/C30D Type: TMS320C30 SBus Processor Card Company: Loughborough Sound Images Processor: TMS320C30 33 MHz 128Kwords RAM Comments: also available as SDSP/C30S with SCSI interface SBus boards, other processors: ---------------------------------------------------------------------------- Name: ADDA1418-166 Type: S-Bus A/D and D/A (A/D and D/A are also available separately) Company: Analyx Systems Inc. (510) 656-8017 Price: $2,495.00 (4-92) (A/D only $1,995, D/A only $1,895) Processor: None Analog I/O: 166 kHz 16 channel, 14 bit isolated A/D, 4 Channel 18 bit D/A Features: 32K Dual-Ported on-board RAM. Single S-Bus slot. All software included. Q4.1.4: VMEbus DSP boards. VMEbus boards, Analog Devices processors: ---------------------------------------------------------------------------- Name: ADSP-21020 IXD7232 Type: Dual ADSP-21020 VME bus board Company: Ixthos, Inc. Processor: 2x ADSP-21020 512 Kbytes data/proc, 196 Kbytes prog/prc Analog I/O: available via daughter card Features: I/O mezzanine, RS-232 port, digital I/O option VMEbus boards, AT&T processors: ---------------------------------------------------------------------------- Name: SURFboard Type: VMEbus DSP board Company: AT&T (Louis Rosa 908-582-5667 or Jim Snyder surf@research.att.com) Price: $10K Processor: 6 DSP-32C's organized as 2 sets of 3 processors (input, output, central -- can be configured) Analog I/O: None, but can use Ariel ProPort VME board. Comments: Multiple boards can be chained together. Central DSP's both have access to a 1Mbyte DRAM which is also the interface to the VMEbus. Input and output DSP's only have 2Kx32 memory. Central DSP's also have 256Kbytes of local SRAM. Name: VME6U6 Type: VMEbus 6U DSP32C board Company: Communication Automation and Control, Inc. (CACI) (800) 367-6735 Processor: 6 DSP-32C 50 MHz, 512 Kbytes SRAM each Analog I/O: available via mezzanine bus Features: TDM expansion port to other boards, mezzanine bus Price: $10,900 Name: VME9U12 Type: VMEbus 9U DSP32C board Company: Communication Automation and Control, Inc. (CACI) (800) 367-6735 Processor: 12 DSP-32C 50 MHz, 128 Kbytes SRAM each (exp. to 512 Kby each) Analog I/O: available via local mezzanine bus Features: TDM expansion port to other boards, mezzanine bus Price: $18,800 Name: VE-32C Type: VMEbus 6U DSP32C four processor board Company: Valley Technologies Processor: 4x DSP-32C 50 MHz, 8 Kw SRAM each (exp to 128 Kw each) Features: 16 bit digital matrix switch for IPC Name: UltraFFT Type: VME board (6U form factor) Company: Valley Technologies Processor: 2x DSP32C ?? MHz; 2x Plessey PDSP16510 FFT processors Name: UltraDSP Type: VME board (6U form factor) Company: Valley Technologies Processor: DSP32C 40 MHz; Sharp LH9124 DSP VMEbus boards, Motorola processors: ---------------------------------------------------------------------------- Name: V-56 DSP56001 VME board Type: DSP56001 VME bus card Company: Ariel Corp. (908) 249-2900 Processor: 27 MHz Motorola DSP56001, 32Kw P RAM, 64Kw data RAM Features: EPROM boot, 24 bit parallel I/O, serial drivers, 24 bit ADBus peripheral expansion port. Analog I/O: None. Name: DSP56001 VME board Type: DSP56001 VME bus card Company: Spectrum Signal Processing (604) 438-7266 Processor: 2x Motorola DSP56200 10MHz 24K words RAM Analog I/O: dual channel 16 bit 153 kHz A/D, D/A Name: Versatile Array Signal Processor Type: VME-based three board (or more) set Company: Spectrum Signal Processing (604) 438-7266 Processor: 5x DSP96002 Comments: contains (1) general signal processing board (four processor DSP96002 VME board), (2) I/O processor board (DSP96002 VME board), (3) two-port memory board (4Mx64 bit dual port memory). Name: MMI-105 Single Channel Audio/Signal Processor Type: VME board Company: Vigra Processor: 20 MHz 56001 DSP (27 Mhz optional) 8K SRAM and 1 Meg ($1895) or 8 Meg ($2995) DRAM Analog I/O: 14 bit A/D and D/A; 8, 13.6, and 19 KHz sampling rates. Features: Mic & line inputs, power amp & line outputs. Name: MMI-210 Signal/Audio Processor Type: VME board Company: Vigra Processor: 2x 27 MHz 56001 DSPs 8K SRAM (32K optional) and 1 Meg ($2995) or 4 Meg ($3650) DRAM Analog I/O: 16 bit A/D and D/A; 8, 16, 32, 44.1, 48, 96 Ksamples/sec Features: Line and mic inputs, line and power amp outputs. Name: MMI-420 Four Channel Signal Processor Type: VME board Company: Vigra Price: $3225 Processor: 4 56001's 27 MHz - 96K SRAM and 16K EPROM per DSP Features: 4 Megs multi-ported DRAM Name: MMI-4210 Four Channel Signal/Audio Processor Type: VME board Company: Vigra Price: $5950 Processor: 4x 56001's 27 MHz, 96K SRAM and 16K EPROM per DSP Analog I/O: 4 16-bit A/D and 4 18-bit D/A converters, 1-50 kHz sample rate. Features: Transformer or direct-coupled analog I/O. Programmable output mixing, input and output gain levels. Digital mixing, speech energy detection, and ADPCM on firmware. VMEbus boards, Texas Instruments processors: ---------------------------------------------------------------------------- Name: HEXC31 Type: 6U VMEbus 6 processor DSP card Company: Analogic Processor: 6x TMS320C31 40 MHz, 512 kw SRAM/proc, 16 MB DRAM, Name: Banshee/VME Type: VMEbus DSP accelerator card Company: Atlanta Signal Processors, Inc. Price: starts at $4,995 Processor: TMS320C30 Analog I/O: available as a separate daughter board. Features: Programming tools can be used through any PC-compatible computer (separate debugging port). Name: Ranger Type: VME board Company: Image and Signal Processing Processor: up to 4 TMS320C30 Comments: Some libraries included. Name: Clipper Type: VME board Company: Image and Signal Processing Processor: up to 6 TMS320C40 Name: MZ 7770 Quad C40 DSP engine Type: VMEbus 6U DSP board Company: Mizar Processor: 4x TMS320C40 50 MHz, 1 Mbyte SRAM per proc, 1 Mbyte global SRAM Features: 512 Kbyte flash EEPROM Name: HyperFlo DSP-3 Type: 6U VMEbus 3 processor DSP card (plus 68030 GP CPU) Company: Pacific Cyber/Metrix, Inc. Processor: 3x TMS320C30 40 MHz, 512 Kbytes SRAM/proc; 68030 general purpose CPU Features: 3x 36 bit parallel I/O ports, fifos between processors Name: HyperFlo DSP-4 Type: 6U (?) VMEbus 3 or 6 processor DSP card (plus 68040 GP CPU) Company: Pacific Cyber/Metrix, Inc. Processor: 3x or 6x TMS320C40 40 MHz; 68040 general purpose CPU Name: HyperFlo DSP-38 Type: 6U VMEbus 3 processor DSP card (plus 68030 GP CPU) Company: Pacific Cyber/Metrix, Inc. Processor: 3x TMS320C30 40 MHz, 512 Kbytes SRAM/proc; 68030 general purpose CPU Features: like DSP-3, but with MAXbus video interface Name: Triple TMS320C25 Processor Baseboard (4282) Type: VMEbus DSP board Company: Pentek, (201) 767-7100 Processor: 1x 20 MHz TMS320C25 master processor with 32Kx16 SRAM, 32Kx16 EPROM; 2x 40 MHz TMS320C25 slave processors with 8Kx16 SRAM (accessible by master). Features: 1Kx16 dual-port RAM between VMEbus and master processor. Name: TMS320C30 Processor MIX Baseboard (4283) Type: VMEbus DSP board Company: Pentek, (201) 767-7100 Processor: TMS320C30, 32 MHz, 256 KB SRAM, 128 KB EPROM, 1, 4, or 8 MB dual-port RAM. Analog I/O: available as separate daughter board. Features: MIX expansion bus, 17 pin I/O timer connector Comments: the MIX expansion bus allows up to three additional MIX DSP boards to be attached to the 320C30 baseboard. MIX boards available from Pentek include: 1 processor TMS320C30; 2 processor TMS320C30; 3 processor AT&T DSP32C; 1 processor TMS320C40; 2 processor TMS320C40; and a variety of analog and digital I/O interface boards. Name: SKY Challenger Type: VMEbus DSP board Company: SKY Computers Processor: 2x TMS320C30 Name: SPIRIT-30 VME Type: VME board Company: Sonitech International Processor: TMS320C30 33 MHz, 256 Kbytes SRAM (expandable) Analog I/O: available via serial port Features: serial, parallel port; mezzanine bus Name: Dual TMS320C30 VME board Type: Dual processor TMS320C30 VME board Company: Spectrum Signal Processing (604) 438-7266 Processor: 2x TMS320C30 33 MHz, 64K words RAM per processor Analog I/O: optional dual 18 bit 200 kHz A/D, D/A Comments: 6U Eurocard format VMEbus boards, other processors: ---------------------------------------------------------------------------- Name: CRV1M40 Type: VME board (6U form factor) Company: Catalina Research Inc., (719) 531-5767 Processor: Sharp LH9124/9320 40 MHz Analog I/O: None (?) Features: 8K of VME address space, 16 pages of 32kx16 program space, mezzanine. (See also: Valley UltraFFT and UltraDSP, under the VMEbus AT&T processor section, above). Q4.1.5: DSP development boards for the NeXT bus. ---------------------------------------------------------------------------- Name: QP-56 Type: Five processor DSP56001 card for NeXT NextBus Company: Ariel Corp. (908) 249-2900 Processor: 5x DSP56001 26 MHz 8K/16K words RAM per processor Features: Five NeXT compatible DB-15 ports. Q4.1.6: DSP development boards for the SCSI bus. ---------------------------------------------------------------------------- Name: DSP-32C Type: SCSI Interface DSP Board (actually a PC board which can be accessed through an on board SCSI port). Company: Ariel Price: $3,495 Processor: AT&T DSP-32C Analog I/O: 16 bit analog I/O Comments: Includes the PDS-32C Program Development Software. Name: DeskLab Type: SCSI data collection/analysis box Company: Gradient (609) 387-8688 Price: $5,500 Processor: ? Analog I/O: 14 bit A/D D/A, Telephone interface is available. Comments: Complete package of data collection and analysis tools under UNIX. It is not possible (supported) to directly access the DSP that is in the box nor can user specified functions be run using their analysis package. Name: SKYstation Type: DSP vectorizing accelerator for sparc workstations Company: SKY Computers (508) 256-1626 Price: $10K and up (depends on amount of memory required) Processor: Intel I860/960 Analog I/O: None. Comments: Vectorizing C and FORTRAN compilers available. Math library(hand coded) also available. Company also makes VME cards with similar features. Name: DAT-Link and DAT-Link+ Type: Standalone SCSI unit Company: Townshend Computer Tools (514) 289-9123 Price: US: $4,000-$4,500 Processor: DSP-32C with 64k RAM, expandable to 2Mbytes. Features: AES/EBU interface. Comments: Full networked software with server, applications and libraries including source. Real time playback/recording of stereo audio files. Trainable IR transceiver - control any device with IR remote control. Works with any UNIX work-station that has SCSI. Q4.1.7: Standalone DSP development boards ---------------------------------------------------------------------------- Name: EZ-LAB kit Type: ADSP-2101 stand alone evaluation module Company: Analog Devices Processor: ADSP-2101 Features: needs power supply, speaker, and microphone. Comes with PC development software and some canned demos. Name: ADSP-2105 DSP-11B, ADSP-2101 DSP-11S Type: ADSP-2105 and ADSP-2101 stand-alone DSP boards Company: Innovative Devices Processor: ADSP-2105 or ADSP-2101 Analog I/O: 4x 14 bit A/D, 2x 14 bit D/A. Comments: 3"x5" stand-alone DSP board. Name: MX31 Modular Embedded System Type: TMS320C31 stand-alone board Company: Integrated Motions, Inc. (IMI) Processor: TMS320C31 33 MHz; 16, 64, or 256 Kw RAM; 16 or 64 Kw ROM Features: 88 pin expansion bus, 16 bits parallel I/O, 2 RS-232, 3 int lines Comments: 4"x5" board designed for use in embedded systems; other cards of same form factor under development. Name: AE2000 Type: TMS320C31 board Company: Intellibit Processor: TMS320C31 Comments: Board is only 3"x2.5". Name: MC68HC16EVB Type: Motorola 86HC16 standalone board Company: Motorola Processor: 68HC16 Analog I/O: 8 bit or 10 bit A/D, D/A requires obtional chip Features: Includes assembler, simulator, demo C compiler that run on an IBM PC and communicates via printer port. Comments: Motorola has been pushing the 68HC16 as a low-end DSP, even though it's not what most DSP folks think of when they say "DSP". Board name: ADSP-2101 based 4 kbps voice codec module Type: ADSP-2101 stand alone module? Company: Specom Technologies Processor: ADSP-2101 Features: Voice coding based on CELP. Comments: stand-alone module? Name: ADSP-2105 Based digital voice playback system Type: ADSP-2105 stand alone module? Company: Specom Technologies Processor: ADSP-2105 Comments: stores up to 2 hours of speech Name: 56SB System Type: 56001 Stand-alone system Company: Precision Design Services Processor: 56001 20 MHz Price: Aus$1450 Analog I/O: 16 bit 100kHz ADC, 2x 16 bit 500kHz DAC Comments: PC monitor software, RS232C Port, Filter design software. Extensive macro library also available(Aus$300). ========================================================================== Q4.2: Who makes AES/EBU digital audio transceiver chips? Several companies: Sony Corp.: CX23033 transmitter, CX23053 receiver. Comments: the Sony receiver chip is very difficult to work with due to a bad PLL design. Crystal Semiconductor Corp., (512) 445-7222 CS8411 and CS8412 receivers, CS8401 and CS8402 transmitters. Comment: the 8411 and 8401 are designed for use with microprocessors/DSPs. The 8412 and 8402 are intended for use in stand-alone applications. Motorola Corp. (800) 521-6274 or (512) 891-2030 (DSP marketing) DSP56401 transceiver. Comment: designed for use with the DSP56000. Yamaha: YM3613B transmitter, YM3623B receiver, YM3436 receiver, YM3437 transmitter. References: Kahrs, Mark, "An AES/EBU Circuit Compendium or AES/EBU Circuits I Have Known and Loved," presented at the 91st Convention of the Audio Engineering Society, October 4-8, 1991. Reprints: AES, 60 East 42nd St., New York, NY, 10165. ========================================================================== Q5.0 What DSP Operating Systems are available. [This was researched and written by Chuck Corley (chuckc@sr.hp.com)] The need to use an operating system for a DSP processor seems to depend on the task(s) to be performed. For small or simple DSP tasks where the DSP is doing only a single simple repetitive function, an operating system is probably not needed. As the number and complexity of DSP tasks increase, an operating system of some type may be needed in order to allocate system resources (RAM, etc.) and to perform multi-tasking, where several tasks take turns executing. An example: A DSP processor may be required to perform non-DSP jobs in order to eliminate a 'host' processor. An operating system may be needed in order to share processing time and resources between the DSP and non-DSP tasks. An option for some DSP applications is to write your own DSP task-switching or job allocating 'operating system'. Whether this is the right choice for you depends on how involved you need to make your operating system, and how much time you have available to spend on writing it. A number of companies now offer pre-written operating systems that execute on DSP processors. In exchange for your money they offer to save you the time and effort of writing and debugging your own 'operating system' or 'task switcher' or 'resource allocator'. These companies describe their products as 'real-time' operating systems. What 'real-time' means is debated, but normally it means that the maximum time for the operating system to respond to an external event is known. The calculation for measuring this time involves summing together interrupt response time, task switching time, and other processor and operating system benchmarks. 'Real-time' usually also means 'fast'. Often embedded CPU or DSP tasks require a 'real-time' (known) response time. Prices and features vary. All companies charge for purchasing their 'development environment', which allows you to develop code which runs on their operating system. Some companies also charge a fee for each product you create or sell that includes their operating system software. This is usually called a 'target fee' or 'runtime license' fee. Some operating systems have no 'runtime license' fees. As a general precaution, when there are runtime license fees, it is *very* important to negotiate in advance what the license fee will be. If this price is not agreed upon (in writing, most likely) at the time the development system is purchased, you could be in a very bad position. You will have invested a lot of time and effort writing code to work with a particular operating system, and when your creation is produced you could discover that the 'runtime license fee' has increased for some reason. Considering the amount of work you would have invested in that operating system, you would be in a very poor bargaining position. Features for 4 different DSP operating systems are listed below. Keep in mind a 'No' answer doesn't necessarily mean that the operating system is deficient. Some companies felt certain features were not appropriate for either a 'DSP' or a 'real-time' operating system, and so they did not implement them. Other companies didn't implement features because they were not appropriate for their targeted users. The information below was collected from phone calls and marketing literature, and is not necessarily accurate. You should contact the vendors listed below for the best and most up-to-date information. Operating System Features: Byte-BOS Nucleus RXTC SPOX -------------------------- -------- ------- ---- ---- Preemptive Task Scheduling Yes Yes Yes Yes Time-Sliced Task Scheduling Yes Yes Yes No Round-Robin Task Scheduling ? Yes Yes No Inter-Task Messages Yes Yes Yes Yes Memory Management Yes Yes Yes Yes Interrupt Management Yes No Yes Yes Timer Management Yes Yes Yes No Device-Independent I/O No No No Yes Stream I/O Serial-$495 No No Yes DSP Math Library No No No $4000 C Run-Time Library No No No $2000 Source Code Included Yes Yes Yes No Source Code Type ANSI-C ANSI-C ASM/ANSI-C ASM/ANSI-C OS RAM/ROM Size (Bytes) 5K-40K 4K-20K 12K-16K 44K+ Demo Disk Available ? Yes Yes ? Development License Type Site Prod Line Site Computer Run-Time License Fee None None None $25-$200 Development License Cost $1995 $4995 $995-$4195 $6000-$12000 OS System-Level Debugger: Byte-BOS Nucleus RXTC SPOX -------------------------- -------- ------- ---- ---- Basic Debugging Functions Yes Yes Yes Yes Performance Timer Yes Yes No Yes Debugger Cost $295 $750 $0 $5000 Information on the 'Helios' distributed parallel processing operating system was not available at this time, but their address is listed below. 'Byte-BOS' is available from: Byte-BOS P.O. Box 3067 Del Mar, CA 92014 Phone : 619-788-7288 Toll Free : 800-788-7288 Supported DSPs: TI 320C2x/C3x/C5x Other CPUs: 80x86, V25/V35/V40/V50, Z80, Z180, 64180, 37700, 680x0, 68332, 68340, 68302, 8051, 8096, 80188/86, 68HC11, 68HC16, 6301/3 'Helios' (for distributed parallel processing) is available from: Perihelion Software Limited The Maltings Charlton Road, Shpeton Mallet Somerset, United Kingdom BA4 5QE Phone : (44) (0) 373-344345 Fax : (44) (0) 373-344977 'Nucleus' is available from: Accelerated Technology P.O. Box 850245 Mobile, Alabama 36685, USA Phone: (205) 661-5770 Toll free: (800) 468-NUKE Fax: (205) 661-5788 Supported DSPs: TI 320C2x/C3x/C4x/C5x, Motorola 56xxx, Analog Devices 21xxx Other CPUs: Am29xxx, R3000, SPARC, i960, 680xx, 683xx, 80x86 'RTXC' and 'RTXC/MP' (a parallel processing version) are available from: AT Barrett & Associates 11501 Chimney Rock Houston, Texas 77035 Phone : 713-728-9688 Toll Free : 800-525-4302 Fax : 713-728-9688 Supported DSPs: TI 320C3x Other CPUs: 680x0, 68332/331/340, 68302, 68HC16, 68HC11, 6803, 80x86, 80x96, 80x51, T400/800, Z80/Z180 'SPOX' and 'SPOX-MP' (a parallel-processing version) are available from: Spectron Microsystems 5266 Hollister Ave Santa Barbara, CS 93111, USA Phone: (805) 967-0503 Fax: (805) 683-4995 Supported DSPs: TI 320CC3x/C4x/C5x, Motorola 56xxx, Analog Devices 21xxx 5. Manufacturer's addresses and telephone numbers. Analog Devices 1 Technology Way P.O. Box 9106 Norwood, MA 02062-9106 Phone: (617) 329-4700 Phone: (617) 461-3672 (DSP applications assistance) Phone: (617) 461-3881 (DSP marketing) ----- Analogic 8 Centennial Dr. Peabody, MA 01960-7987 Phone: (508) 977-3000 x. 3468 FAX: (408) 977-9220 ----- Ariel Corp. 433 River Road Highland Park, NJ 08904 Phone: (908) 249-2900 FAX: (908) 249-2123 BBS: (908) 249-2124 Email: ariel@ariel.com ----- AT&T Microelectronics Dept. AL-520404200 55 Union Blvd. Allentown, PA 18103 Phone: (800) 372-2447 FAX: (215) 778=4106 ----- Atlanta Signal Processors, Inc. (ASPI) 770 Spring St. Atlanta, GA 30308 Phone: (404) 892-7265 FAX: (404) 892-2512 ---- Berkeley Camera Engineering 3616 Skyline Drive Hayward, CA 94542 Phone: (510) 889-6960 FAX: (510) 889-7606 Email: mikep@nikon.ssl.berkeley.edu ----- BittWare Research Systems, Inc. Inner Harbor Center, 8th Floor 400 East Pratt Street Baltimore, MD 21202 Phone: (800) 848-0435 FAX: (410) 783-7375 ----- Bridgenorth Signal Processing, Inc. P.O. Box 469 Custer, WA 98240 Phone: (604) 538-0003 FAX: (604) 538-9073 ----- Catalina Research Inc. Colorado Springs (719) 531-5767 ----- CMS GmbH Postfach 100202 Einsteinstrabe 61-63 D-7505 Ettlingen Germany Phone: (07243) 31001 ----- Communication Automation and Control, Inc. (CACI) 1642 Union Blvd., Suite 200 Allentown, PA 18103-1510 (215) 776-6669 FAX: (215) 770-1232 ----- Computer Continuum 75 Southgate Avenue Daly City, CA 94015 (415) 755-1978 ----- Crystal Semiconductor Corp. P.O. Box 17847 Austin, TX 78760 Phone: (512) 445-7222 FAX: (512) 445-7581 ----- Current Technology, Inc. 99 Madbury Road Durham, N.H. 03824 Phone: (603) 868-2270 FAX: (603) 868-1352 ----- Data Translation 100 Locke Dr. Marlboro, MA 01752-1192 (508) 481-3700 (800) 525-8528 ----- Dalanco Spry 89 Westland Ave. Rochester, NY 14618 Phone: (716) 473-3610 ----- DigiDesign Inc 1360 Willow Road, Suite 101 Menlo Park CA 94025 Tel: 010 1 415 327 8811 FAX: 010 1 415 327 0777 ----- DSP Research 391 Balsam Ave. (OR Possibly: 1095 E. Duane Ave) {Someone clarify?} Sunnyvale, CA 94086 Phone: (408) 773-1042 FAX: (408) 736-3451 ----- EnterTec, Inc. P.O. Box 8858 Richmond, VA 23225 Phone: (804)353-7133 FAX: (804) 353-7134 ----- Hollis Electronics Co. 5 Northern Blvd., Unit 13 Amherst, NH 03031 Phone: (603) 598-4640 ----- Image & Signal Processing 120 Linden Avenue Long Beach CA 90802 Phone: (213) 495-9533 FAX: (213) 495-1258 ---- Innovative Devices, Inc. 1119 Damelart Way Brentwood Bay, B.C. V0S 1A0 Canada Phone: (604) 652-5240 ----- Integrated Motions, Inc. (IMI) 758 Gilman St. Berkeley, CA 94710 (510) 527-5810 FAX: (510) 527-7843 ----- Integrated Technologies Solutions, Inc. 402 Chestnut Ln. East Meadow, NY 11554 (516) 481-0857 FAX: (516) 292-3115 ----- Intellibit P.O. Box 9785 McLean, VA 22102-0785 Phone: (703) 442-4781 FAX: (703) 442-4784 ----- Ixthos, Inc. 12210 Plum Orchard Drive Silver Spring, MD 20904 Phone: (301) 890-1000 ----- KINETICSYSTEMS in USA: William Ponton Tel: 609-921-2088 FAX: 609-683-9633 in Europe: Tel: 41-22-798-4445 FAX: 41-22-798-0525 ----- Logabex ZI de Montaudran 3 Avenue Didier Daurat 31400 Toulouse France Phone: (33) 61-80-94-37 ----- Loughborough Sound Images Ltd The Technology Centre Epinal Way Loughborough Leics LE11 OQE England Phone: +44 (0)509 231843 FAX: +44 (0)509 262433 N.B. U.S. distributor is Spectrum Signal Processing (see below) ----- Mizar 2410 Luna Rd. Carrolton, TX 75006 (214) 277-4600 FAX: (214) 277-4666 ----- Motorola Corp. DSP Operation Mail Drop OE314 6501 William Cannon Drive, West Austin, TX 78735-8598 Phone: (512) 891-2030 (marketing) BBS: (512) 891-DSP1 (300/1200 bps) BBS: (512) 891-DSP2 (1200 bps V.22) BBS: (512) 891-DSP3 (2400 bps V.22bis) ----- Motorola Ltd. Motorola Literature Centre 88 Tanners Drive Blakelands Milton Keynes MK145BP Great Britain ----- National Instruments 6504 Bridge Point Parkway Austin, TX 78730-5039 Phone: (512) 794-0100 Phone: (800) 433-3488 FAX: (512) 794-8411 ----- Natural Microsystems Corp. 8 Erie Drive Natick, MA 01760-1313 Phone: (800) 533-6120 ----- Pacific Cyber/Metrix, Inc 6805 Sierra Ct. Dublin, CA 94568-2615 (510) 829-8700 FAX: (510) 829-9796 ----- Pentek, Inc. 55 Walnut St. Norwood, NJ 07648 Phone: (201) 767-7100 FAX: (201) 767-3994 ----- Precision Design Services PTY LTD, P.O. Box 61 Berwick, Victoria, 3806 Australia TEL: +61 3 796 2003 FAX: +61 3 796 1500 ----- Prime Ideal Joseph Virzi 2124 Parker Street #300 Berkeley, CA 94704 Phone: (415) 513-8062 ----- Quantawave (508) 481-9802 ----- Saddle Point Systems 3960 Greenwood Ave. Oakland, CA 94602 Phone: (510) 530-0971 ----- Sharp Microelectronics Technology, Inc. 5700 NW Pacific Rim Blvd Camas, WA 98607 Phone: (206) 834-8711 FAX: (206) 834-8611 ----- Signal-Data 63 Vester Paradisvej DK-2840 Holte Denmark Phone: (45) 30 42 6054 Phone: (301) 890-1000 ----- Sonitech International Inc. 14 Mica Ln. Wellesley, MA 02181 (617) 235-6824 FAX: (617) 235-2531 ----- Specom Technologies Corp. 3673 Enochs Street Santa Clara, CA 95051 Phone: (408) 736-7832 FAX: (408) 736-7861 ----- Spectral Innovations Santa Clara, CA (408) 727-1314 ----- Spectrum Signal Processing Westborough Office Park 1500 West Park Drive Westborough MA 01581 USA Phone: (508) 366-7355 FAX: (508) 89988 2772 ----- Texas Instruments Incorporated P.O. Box 1443 M/S 737 Houston, TX 77251-1443 (713) 274-2320 (voice) (713) 274-2324 (fax) (713) 274-2323 (BBS 300-9600 N,8,1) 4389750@mcimail.com (Internet email) ----- Townshend Computer Tools Phone: (514) 289-9123, FAX: (514) 289-1831 E-Mail: datlink%tt@cam.org ----- Tucker-Davis Technologies 4639 NW 6th St., Suite A Gainesville, FL 32609 (904) 375-1623 FAX: (904) 375-4523 ----- Valley Technologies, Inc. RD #4, Rt. 309 Tamaqua, PA 18252 (717) 668-3737 FAX: (717) 668-6360 ----- Virga, Inc. 4901 Morena Blvd. Bldg. 502 San Diego, CA 92117 (619) 483-1197 ----- Wavetron Microsystems 1135 Oddstad Drive Redwood City, CA 94063 Phone: (415) 366-5371 or (415) 366-5375 ============================================================================= Questions, comments, or submissions for this FAQ should be mailed to comp-dsp-faq@ohm.Berkeley.EDU, ...!ucbvax!ohm!comp-dsp-faq. Thanks!