Thread View: comp.dsp
2 messages
2 total messages
Started by phil@bdti.com (P
Sun, 28 May 1995 00:00
comp.dsp FAQ [1 of 4]
Author: phil@bdti.com (P
Date: Sun, 28 May 1995 00:00
Date: Sun, 28 May 1995 00:00
1018 lines
36834 bytes
36834 bytes
Archive-name: dsp-faq/part1 Last-modified: Sun May 27 1995 Version: 2.1 This represents the most recent available FAQ for comp.dsp. Unfortunately, that means it's quite old. We are working on revising this to be up-to-date, but are posting this in the meantime. Expect a new version of this FAQ sometime in June. For now, this will have to do. Franz Weller Phil Lapsley comp.dsp FAQ maintainers ----- FAQs (Frequently asked questions with answers) on Signal/Image Processing 0. What is comp.dsp? 1. General DSP. *************** 1.1 DSP book and article references. 1.2 Where can I get free software for general DSP? 2. Algorithms and standards. **************************** 2.1 Where can I get some algorithms for DSP? 2.2 What are CELP and LPC? Where can I get source for them? 2.3 What are u-law and 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.3 Software for Texas Instruments DSPs. 3.4 Software for Analog Devices DSPs. 4. Hardware. ************ 4.1 DSP development boards. 4.2 Who makes AES/EBU chips? 5. Operating Systems. ********************* 6. List of manufacturers, addresses, and telephone numbers. *********************************************************** 7. Summary of FTP sites. ************************ 8. Wavelets Information. ************************ 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. This FAQ was the work of many people. This (older) FAQ was coordinated by Brad Hards and Phil Lapsley. This information didn't come from us - it came from the generous people who supplied the resources and expertise required. We are most grateful to the following contributors who helped out with this FAQ: Ben Abbott abbott@vuse.vanderbilt.edu Mark Ainsworth ma@sundance.com William Alves alves@calvin.usc.edu Pradeep Bardia pb@sonitech.com Peter Barszczewski barsz@bnr.ca Harry Bates transtech!hjb@tc.cornell.edu Michail Bletsas mbletsas@cdsp.neu.edu Neil Bowers neilb@chama.eece.unm.edu Annard Brouwer annard@stack.urc.tue.nl James Brundell james@physics.otago.ac.nz Dennis W. Brown browndw@ece.nps.navy.mil Joe Campbell jpcampb@afterlife.ncsc.mil Brian Carlson brian.carlson@hyperception.com Tim Channon tchannon@black.demon.co.uk Steve Clift clift@ml.csiro.au Joel Coltoff joel@wmi.com Howard Cohen cda!hcohen@uunet.uu.net Chuck Corley chuckc@hpnmdlc0.sr.hp.com Jutta Degener jutta@cs.tu-berlin.de William J. Delveaux delveaux@infoserv.com Malachy Devlin madmal@spd.eee.strathclyde.ac.uk John Edwards johned@cix.compulink.co.uk Kenneth Ekman y88kenek@und.ida.liu.se Cole Erskine cole@analogical.com Brian Evans evans@markov.eedsp.gatech.edu John Fisher johnf@dsp.sps.mot.com Dan Frankowski dfrankow@cs.umn.edu Mark Gallagher M.Gallagher@e-eng.hull.ac.uk Robert Gammon 5692330@mcimail.com Kevin Gardner gardner@zinc.med.yale.edu Maurice Givens maury@tellabs.com Stephen A Glow sag@world.std.com Willy Gonnason gonnasow@cuug.ab.ca Peter Gutmann pgut1@cs.aukuni.ac.nz Ed Hall edhall@rand.org Vince Herried vjh21@cas.org Joseph Hora hora@galileo.ifa.hawaii.edu Eric Jacobsen ericj@hwcae.honeywell.com Pete Janzow pjanzow@prenhall.com Quinn Jensen jensenq@qcj.icon.com Robert Jonsson Robert.Jonsson@ludd.luth.se Alan Kamas aok@rice.eecs.berkeley.edu Richard Kim richard@math.mit.edu Gints Klimanis gints@roadkill.esd.sgi.com Greg Koker dsp_applications@analog.com Kurt Kosbar kosbar@ee.umr.edu Juhana Kouhia jk87377@cc.tut.fi Mark M. Lacey lacey@dsp.sps.mot.com John Lazzaro lazzaro@boom.CS.Berkeley.EDU Noam Levine noam.levine@analog.com Sergio Liberman sergio@msil.sps.mot.com Fazal Majid majid-fazal@math.yale.edu Stan McClellan mcclella@ee.tamu.edu Renzo Mercanzin aire@sabrina.dei.unipd.it Theresa Meuse theresa@imaging.com Stephen Moshier moshier@world.std.com Phillip Musumeci phillip@ee.adfa.oz.au Lance Norskog thinman@netcom.com Bill Novak novak@tartan.com Jose Luis Pino pino@gamow.eecs.berkeley.edu Gerrit Polder g.polder@cpro.agro.nl Jim Prater Jim.Prater@FtCollins.NCR.COM Bill Ralston wtr@mitre.org C.S. Ramalingam ramli@mizar.ele.uri.edu Craig F. Reese cfreese@super.org Tony Richardson amr@mpl.ucsd.edu J.S. Robertson robertson@euler.math.usma.edu Tony Robinson ajr@eng.cam.ac.uk Lee Rogers Lee_Rogers@aplmail.jhuapl.edu Ted Rossin rossin@hpfcrd.fc.hp.com Paul Rubin phr@america.telebit.com Paul Russell paulr@syma.sussex.ac.uk Stanley Sasaki stans@tekig7.pen.tek.com Louis K. Scheffer lou@cadence.com Bill Schottstaedt bil@ccrma.stanford.edu W.F.Schroeder schro@norton.sni.de Paul Simoneau pas1@kepler.unh.edu Malcolm Slaney malcolm@apple.com Greg Smart rcogs@citri.edu.au Henry B. Smith hbs@crl.com Larry Stewart stewart@crl.dec.com Derek H. Thille dht260@dvinci.usask.ca Andrew Ukrainec ukrainec@nimios.Eng.McMaster.CA Witold Waldman witold@hotblk.aed.dsto.gov.au George Warner warnergt@aloft.att.com 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.) 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. P. P. Vaidyanathan, "Multirate Systems and Filter Banks", Prentice-Hall. 911 pp. 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] There are several typos in this paper. The errors are corrected by A. H. Nuttall in "Some Windows with Very Good Sidelobe Behavior," IEEE Trans. on Acoustics, Speech, and Signal Processing, Vol. ASSP-29, No. 1, February 1981. 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 was 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? Gabriel was a hierarchical block diagram environment for prototyping signal processing systems on single or multiple processors. It has been superceded by Ptolemy (see below), and is no longer available. Q1.2.2: What is Ptolemy? Where can I get it? 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, network design, radio astronomy, 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 100 sites, both in industry and academia. Ptolemy is available for the Sun 4 (sparc), DecStation (MIPS), and HP (HP-PA) architectures. Installing the system requires 90 Mbytes for Ptolemy (more if you optionally remake). Ptolemy also requires at least 8 Mbytes of physical memory. Linux binaries also exist. There is an experimental World Wide Web (WWW) page for Ptolemy: http://ptolemy.eecs.berkeley.edu/pub/ptolemy/www/Ptolemy.html The Ptolemy WWW page contains information about Ptolemy, demonstrations of Ptolemy programs, and access to the Ptolemy FTP site. Ptolemy is available via anonymous ftp. Get the file: file://ptolemy.eecs.berkeley.edu/pub/README and follow the instructions. ftp://pub/ptolemy.eecs.berkeley.edu contains the entire Ptolemy distribution, a postscript version of the Ptolemy manual, and several Ptolemy papers. Organizations without Internet FTP capability can obtain Ptolemy, without support, from ILP. This is often a more stable, less featured version than is available by FTP. EECS/ERL Industrial Liaison Program Office Software Distribution 205 Cory Hall University of California, Berkeley Berkeley, CA 94720 +1 510 643-6687 email: ilpsoftware@eecs.berkeley.edu This includes printed documentation, including installation instructions, a user's guide, and manual pages. A handling fee (on the order of $250) will be charged. Contact: Alan Kamas, aok@ohm.berkeley.edu. Q1.2.3: What is Khoros? Where can I get it? 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. Requires X windows. Written in C. To obtain, get this file, and read the instructions: file://ftp.eece.unm.edu/pub/khoros/release/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. There is a set of Wavelet Tools available for MATLAB, see Section 8 of this FAQ. Communications Toolbox We have developed a "Communications Toolbox" based on the Matlab code for classroom use. It is used by students taking a 4th year communications course where the emphasis is on digital coding of waveforms and on digital data transmission systems. The Matlab code that constitutes this toolbox has been in use for over two years. There are close to 100 "M-files" that implement various functions. Some of them are quite simple and are based on existing Matlab M-files. But a great many of them has been created from scratch. We also prepared a lab manual (in TEX format) for the 7 simulations which the students perform as the lab component of this course. The topics of these simulations are: [1]. Probability Theory [2]. Random Processes [3]. Quantization [4]. Binary Signalling Formats [5]. Detection [6]. Digital Modulation [7]. Digital Communication New version (Matlab 4.1) is available on: file://ftp.mathworks.com/pub/contrib/misc/comm_tbx.tar Old version (Matlab 3.5) is available on: file://evans.ee.adfa.oz.au/pub/matlab/comms/comm_tbx.tar Functionality is basically the same. The manual has also been slightly changed. I am still working to get all the figures in postscript format. Please continue using the old manual until I have the new manual in postscript format ready. [Mehmet Zeytinoglu - mzeytin@ee.ryerson.ca] Auditory Toolbox. This toolbox, which has been tested and works on both Macintosh and Unix computers, includes the following major models: Lyon's Passive Long Wave Cochlear Model (our conventional model) Patterson-Holdsworth ERB Filter bank with Meddis Hair cell Seneff's Auditory Model (Stages I and II) MFCC (Mel-scale frequency cepstral coefficients from the ASR world) Spectrogram Correlogram generation and pitch modeling Simple vowel synthesis The best way to get these functions is from: ftp://ftp.apple.com/pub/malcolm The following files are available: AuditoryToolbox.mif.Z compressed FrameMaker docs ( 420 k ) AuditoryToolbox.psc.Z compressed Postscript docs ( 1373 k ) AuditoryToolbox.sea.hqx BinHexed self-extracting sources ( 573 k ) AuditoryToolbox.tar tar'd archive of sources ( 92 k ) AuditoryToolbox.tar.Z compressed tar'd sources ( 36 k ) If you can't get the bits electronically, we can send you a paper copy of the documentation and a Macintosh floppy containing the toolbox. Sorry, we can't make this software available via other media. Send a note to shirley_caetano@bbcomm.apple.com to request the software. She will need your request for TR#45 or the "Auditory Toolbox" and a postal address (no PO boxes for foreign addresses.) SPC Toolbox The Signal Processing and Communications (SPC) Toolbox is a collection of Graphical Use Interfaced applications for performing signal processing. It is built using a custom runtime GUI programming paradigm that does not require the use of global variables or the storing of GUI object handles in the figure window UserData property (except for when speed is of the utmost importance). The toolbox is available from: ftp://ftp.ece.ucdavis.edu/pub/dsplab/brown/spctools.tar.Z.5.31 ftp://ftp.mathworks.com/pub/contrib/signal/spctools.sh SPC Tools have been tested on Sun Sparcstations running 4.1 and 4.2 (version 4.0a is not supported) and MS-Windows Matlab versions 4.0 and 4.2. [Dennis W. Brown browndw@ece.nps.navy.mil ] 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 Packages (SPP) and Notebooks. Freely distributable 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, number theoretic operations (Bezout numbers, Smith Form decompositions, and matrix factors), and multirate operations (graphical design of 2-d decimators). Accompanying the SPPs 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. Get this file, and read the instructions: file://gauss.eedsp.gatech.edu/Mathematica/README A freely distributable Notebook reader is available for Macintosh computers and IBM-compatibles running MicroSoft Windows by anonymous ftp: Mac: file://mathsource.wri.com/pub/NumberedItems/0204-297-0011 Windows: file://mathsource.wri.com/pub/NumberedItems/0203-599-0011 Contact: Brian Evans, evans@eedsp.gatech.edu. Dr. Roberto H. Bamberger reports: I have developed a series of about 30 Lectures that I use for EE341 (Analog Communication Systems) here at Washington State University. They use the SPP by Brian Evans. They discuss many concepts associated with linear systems theory. They are available from: file://yardbird.eecs.wsu.edu/pub/Notebooks.Topics covered include LTI system theory, convolution, AM, FM, PM modulation and demodulation, and the sampling theorem. NOTE: All Notebooks were developed under NeXTSTEP 3.1 using Mathematica 2.2. I make no guarantees about the graphics being able to be rendered on anything other than a NeXT. 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 disabled and that upgrades cannot be ordered. 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 ftp.apple.com: pub/malcolm/FilterDesign.math IIR Filter Design (continuous and discrete) pub/malcolm/ear.math Implementation of Lyon's Cochlear Model pub/malcolm/Gammatone.math Implementation of Gammatone Cochlear Model Printed copies (with floppies) are available from the author [malcolm@apple.com] 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: file://ftp.egr.duke.edu/pub/maple/linsys1.2.tar.Z Q1.2.10: Where can I get text to speech conversion software? There is additional information in the comp.speech FAQ on speech systems. 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] A public domain version of the same Naval Research Lab text to phoneme rules can be obtained from: file://svr-ftp.eng.cam.ac.uk/comp.speech/sources/english2phoneme.shar This is known to have some problems. A implementation of the Klatt phoneme to waveform speech synthesiser is in: file://svr-ftp.eng.cam.ac.uk/comp.speech/sources/klatt-0.02.tar.Z This directory also contains lossless speech compression (shorten-1.08.tar.Z), speech recognition (recnet-1.1.tar), acoustic modelling (rasta.tar.Z) and text normalisation (textnorm.shar) software. Q1.2.11: Where can I get filter design software? There are filter design programs available via anonymous FTP. The following are summarized here and discussed in greater detail below: 1. August 1992 IEEE Trans. on Signal Processing: METEOR FIR filter design program. 2. DFIR FIR filter design program. 3. Netlib IIR filter design. 4. IEEE Press "Programs for Digital Signal Processing". 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 from: aldebaran.ee.mcgill.ca/pub/dfir. Additionally, a package to plot filter responses is available in "pltfilter-V2R0.tar.Z". [Peter Kabal, via Witold Waldman] Another source is netlib: "A free program to design IIR Butterworth, Chebyshev, and Cauer (elliptic) filters, in any of lowpass, bandpass, band reject, and high pass configurations, is available in netlib (e.g. research.att.com) as the file netlib/cephes/ellf.shar.Z. By email to netlib@research.att.com the request message text is `send ellf from cephes' [Stephen Moshier, mosher@world.std.com] The Fortran source code from the IEEE Press book "Programs For Digital Signal Processing" is available for anonymous ftp from file://nimios.eng.mcmaster.ca/pub/IEEE/software/dsp.zip It includes FIR and IIR filter design software, as well as other general purpose DSP subroutines. There is also a C/C++ version of the Parks-McLellan FIR filter design program available from file://ftp.uu.net/usenet/comp.sources.misc/volume22/fir/part01.Z This program was created and tested using Borland C++ 2.0. This requires a pretty reasonable C++ compiler - it is reported that QuickC (not C++) won't do it. [Witold Waldman, witold@hotblk.aed.dsto.gov.au, from Charles Owen at mgcbo@uxa.ecn.bgu.au] { There are other free filter design programs floating around out there, such as optfir/wfir. Does anyone know of ftp sites? } Q1.2.12 What is PC Convolution? Where can I get it? P.C. convolution is a educational software package that graphically demonstrates the convolution operation. It runs on IBM PC type computers using DOS 4.0 or later. It is currently being used in schools of Mathematics, Electrical Engineering, Earth Sciences, Aeronautics, Astronomy, Geophysics, and (believe it or not) Experimental Psychology. The current version of this software only demonstrates continuous time convolution, but a discrete time version is in the works. Anyone may download a demonstration version of this software from ftp://lamarr.ee.umr.edu/pub/pcc5.zip University, college, military academe, and other instructors may obtain a free and fully operational version of the software after they answer a few simple questions concerning their affiliation and how they plan to use the program. Contact Dr. Kurt Kosbar 117 Electrical Engineering Building, University of Missouri - Rolla Rolla, Missouri, USA 65401 phone: (314) 341-4894 e-mail: kk@ee.umr.edu Q1.2.13: What is the AudioFile System? Where can I get it? The AudioFile System (AF) is a device-independent network-transparent audio server. The distribution includes device drivers and server code for Digital RISC systems running Ultrix, Digital Alpha AXP systems running OSF/1, and Sun Microsystems SPARCstations running SunOS. Also included are an API and library, out-of-the-box core applications, and a number of contributed applications. AudioFile allows applications to generate and process audio in real-time and at present handles up to 48 KHz stereo audio. AudioFile is distributed in source form, with a copyright allowing unrestricted use for any purpose except sale (see the Copyright notice). af@crl.dec.com is a mailing list for discussions of AudioFile. Send mail to af-request@crl.dec.com to be added to this list. The kit is located at: file://crl.dec.com/pub/DEC/AF/AF2R2.tar.Z A sample kit of sound-bites is available as: file://crl.dec.com/pub/DEC/AF/AF2R2-other.tar.Z [Larry Stewart, stewart@crl.dec.com] 1.2.14 What is MathViews? Where can I get it? Package-Name: mathview.zip MathViews for Windows/32 - Math Software for Windows (32-bit). Current version is 1.60. "MathViews for Windows/32 is Matlab look-alike. It has a full set of linear algebra and signal processing functionality." No sources. Windows 3.1. Shareware. Try: ftp.cica.indiana.edu, oak.oakland.edu or wuarchive.wustl.edu Author: Dr. Shalom Halevy 70274.2564@compuserve.com PO BOX 22564, San Diego, CA 92192 (619) 552-9031 USA (Tel/FAX) 1.2.15 What is Shorten? Where can I get it? Shorten is a compressor/coder for waveform files. Two major changes have been made since the last announcement: a) Thanks to the efforts of two users there is now a MS-DOS executable (version 1.09) available on: file://svr-ftp.eng.cam.ac.uk/comp.speech/sources/shn109.exe b) The lastest version, 1.11, has early support for lossy compresson. This is achieved by quantisation of the prediction residual which maximises the segmental signal to noise ratio. This works well for many waveforms - for speech the quality is sometimes better and sometimes worse than the various CCITT ADPCM standards. The advantages are that the code is very fast, will accept most known file formats and will code from lossless compression down to three bits per sample. The disadvange is that this is a variable bit rate scheme and so is more suited to storage than transmission applications. It is available from: file://svr-ftp.eng.cam.ac.uk/comp.speech/sources/shorten-1.11.tar.Z The MS-DOS version comes with no support whatsoever - you have been warned. I'll be able to test and maintain this code when someone decides that it is worth funding the kit to enable me to do this. The UNIX version has been tested on many platforms and there are no known portability problems. If you have problems, then please tell me. Feedback from USENET readers has been very valuable in the past, and I'd like to ask for this again. I'll incorporate as many sugestions as I can into version 2.0. Contact: Tony Robinson (ajr@dsl.eng.cam.ac.uk)
comp.dsp FAQ [2 of 4]
Author: phil@bdti.com (P
Date: Sun, 28 May 1995 00:00
Date: Sun, 28 May 1995 00:00
1048 lines
43468 bytes
43468 bytes
Archive-name: dsp-faq/part2 Last-modified: Sun May 27 1995 Version: 2.1 This represents the most recent available FAQ for comp.dsp. Unfortunately, that means it's quite old. We are working on revising this to be up-to-date, but are posting this in the meantime. Expect a new version of this FAQ sometime in June. For now, this will have to do. Franz Weller Phil Lapsley comp.dsp FAQ maintainers ----- 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. 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. 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] This is avialble from file://euler.math.usma.edu/pub/misc/nswc.tar.Z This is a 3.2 Mbyte file with 800+ Fortran routines mentioned above. The Fortran source code from the IEEE Press book "Programs For Digital Signal Processing" is available from file://nimios.eng.mcmaster.ca/pub/IEEE/software/dsp.zip It includes FIR and IIR filter design software, FFT subroutines, interpolation programs, a coherence and cross-spectral estimation program, linear prediction analysis programs, and a frequency domain filtering program. [Witold Waldman, witold@hotblk.aed.dsto.gov.au, from Charles Owen, mgcbo@uxa.ecn.bgu.edu] Also, see the summary of DSP-related FTP sites, at the end of this FAQ. If you don't know where to find what you're after, try archie. SigLib SigLib is an ANSI C Source DSP library. Current version is 1.61 SigLib has been compiled to run on IBM PCs, Sun Workstations and the following DSPs : TMS320C30, TMS320C40, DSP96002 and ADSP21020. SigLib contains about 130 base functions, from which many others are derived and over 80 demonstration programs, all of which exercise more than on part of the library at any one time. The library source and examples supplied total more than 18000 lines of code. SigLib also includes DFilter, an FIR and IIR digital filter design program and WinBuf, a Windows 3 graphical front end, for display of process results. Some applications of SigLib include drill string vibration analysis, room response analysis, audio effects, telecommunications, active control of sound and vibration, system simmulation and medical imaging. Registered users of SigLib get one years free upgrade and maintenance. Spectrum analysis : FFTs and IFFTs; real, complex, zoom and spectrograms, microscan. Windowing types : Hanning, Hamming, Blackman, Triangle, Rectangle, Kaiser and Blackman-Harris. Fixed coefficient filtering : FIR, comb, IIR and one pole IIR filters, filter design methods, polyphase multi-rate filters, differentiation and integration filters, Hilbert transformers. Adaptive coefficient filtering : LMS. Convolution and Correlation : convolve, correlate. Imaging : conv3x3, histogram and 2DFFT. Signal generation : Sine, Cosine, White noise, Chirp (linear and non-linear), Square, Triangular, Sawtooth, Impulse, PN sequence. Modulation : AM, complex shift, FSK, spectral inversion, FM, QAM. Statistical analysis : sum, mean, average, standard deviation and variance, kurtosis. Regression analysis : linear, logarithmic, exponential, power. Digital effects : reverb, distortion, echo, pitch shifting Utility functions, including : scaling (lin and log) offset, min/max find, clip, offset, rotate, buffer lengthen, buffer shorten, buffer addition multiplication etc., histogram, quantise, absolute, peak hold, polynomial expansion. Control : PID. Graphics : display_buffer, display_buffer_line, print_buffer, display_3d_buffer, pole_zero_plot, xy_plot. Data stream disk I/O functions. ITEMPRICE SigLib object code UKP20, US$30 SigLib source and object code UKP35, US$60 Educational Price (Source code) UKP25, US$40 Available on 3.5" diskette UK shipping per package UKP3 Non UK shipping per diskette UKP5, US$8 These fees include 1 years free upgrade and maintenance. Payment preferably by Money Order or Cheque. email:johned@cix.compulink.co.uk John Edwards, Numerix, 157 Sileby Road, Barrow-on-Soar, Leics, LE12 8LW, UK. Phone : +44 (0)509 413195, UK time between 17.30 PM and 9.00 PM. 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 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 (on DOS diskettes, but configured to compile on Sun SPARC stations) from NTIS and DTIC. Example input and processed speech files are included. A Technical Information Bulletin (TIB), "Details to Assist in Implementation of Federal Standard 1016 CELP," 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 also available. This is available through the National Technical Information Service: NTIS U.S. Department of Commerce 5285 Port Royal Road Springfield, VA 22161 USA Phone: +1 703 487-4650 Source code may also be obtained from: file://svr-ftp.eng.cam.ac.uk/comp.speech/sources/celp_3.2a.tar.gz and file://super.org/pub/speech/celp_3.2a.tar.Z The code (C, FORTRAN, diskio) all has been built and tested on a Sun4 under SunOS4.1.3. If you want to run it somewhere else, then you may have to do a bit of work. (A Solaris 2.x-compatible release is planned soon.) One note to PCers. The files: cbsearch.F celp.F csub.F mexcite.F psearch.F are meant to be passed through the C preprocessor (cpp). We gather that DOS (or whatever it's called) can't distinguish the .F from a .f. Be careful! Very limited support is available from the authors (Joe, et al.). Please do not send questions or suggestions without first reading the documentation (README files, the Technical Information Bulletin, etc.). The authors would enjoy hearing from you, but they have limited time for support and would like to use it as efficiently as possible. They welcome bug reports, but, again, please read the documentation first. All users of FS-1016 CELP software are strongly encouraged to acquire the latest release (version 3.2a as of this writing). The "AD" ordering number for the CELP software is AD M000 118 (US$ 90.00) and for the TIB it's AD A256 629 (US$ 17.50). The LPC-10 standard, described below, is FIPS Pub 137 (US$ 12.50). There is a $3.00 shipping charge on all U.S. orders. The telephone number for their automated system is 703-487-4650, or 703-487-4600 if you'd prefer to talk with a real person. (U.S. DoD personnel and contractors can receive the package from the Defense Technical Information Center: DTIC, Building 5, Cameron Station, Alexandria, VA 22304-6145. Their telephone number is 703-274-7633.) The following articles describe the Federal-Standard-1016 4.8-kbps CELP coder (it's unnecessary to read more than one): Campbell, Joseph P. Jr., Thomas E. Tremain and Vanoy C. Welch, "The Federal Standard 1016 4800 bps CELP Voice Coder," Digital Signal Processing, Academic Press, 1991, Vol. 1, No. 3, p. 145-155. Campbell, Joseph P. Jr., Thomas E. Tremain and Vanoy C. Welch, "The DoD 4.8 kbps Standard (Proposed Federal Standard 1016)," in Advances in Speech Coding, ed. Atal, Cuperman and Gersho, Kluwer Academic Publishers, 1991, Chapter 12, p. 121-133. 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 This is also available from file://svr-ftp.eng.cam.ac.uk/comp.speech/sources/celp_3.2a.tar.gz and file://super.org/pub/speech/lpc10-1.0.tar.gz There is also a section about FS-1015 in the book: Panos E. Papamichalis, Practical Approaches to Speech Coding, Prentice-Hall, 1987. 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. Copies of 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 available for US$ 5.00 each from: GSA Federal Supply Service Bureau Specification Section, Suite 8100 470 E. L'Enfant Place, S.W. Washington, DC 20407 (202)755-0325 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. The voicing classifier used in the enhanced LPC-10 (LPC-10e) is described in: Campbell, Joseph P., Jr. and T. E. Tremain, "Voiced/Unvoiced Classification of Speech with Applications to the U.S. Government LPC-10E Algorithm," Proceedings of the IEEE International Conference on Acoustics, Speech, and Signal Processing, 1986, p. 473-6. Realtime DSP code for FS-1015 and FS-1016 is sold by several vendors, including DSP Software Engineering and Analogical Systems (see the vendor address list in section 5 for contact info). 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. Analogical'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 sources 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 file://ftp.cwi.nl/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. You can get a G.721/722/723 package by email to teledoc@itu.arcom.ch, with GET ITU-3022 as the *only* line in the body of the message. This was originaly written by SUN, and includes ADPCM and ulaw encoders. This is also available as: file://svr-ftp.eng.cam.ac.uk/comp.speech/sources/G711_G722_G723.tar.Z [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 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. Contacts: 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 had from: file://tub.cs.tu-berlin.de/pub/tubmik/gsm-1.0.tar.Z with file://tub.cs.tu-berlin.de/pub/tubmik/gsm-1.0-patch1 and file://tub.cs.tu-berlin.de/pub/tubmik/gsm-1.0-patch2 or as a faster but not always up-to-date alternative: file://liasun3.epfl.ch/pub/audio/gsm-1.0pl2.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? Firstly, there is a FAQ devoted purely to the topic of human audio perception. It is written by Argiris Kranidiotips (akra@uranus.di.uoa.ariadne-t.gr) and is regularly posted to several newsgroups, including comp.dsp and comp.speech. However it is not just restricted in speech topics. A recent version of this text is available from: ftp://svr-ftp.eng.cam.ac.uk/pub/comp.speech/info/HumanAudioPerception 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 professional mode, there is an SDLC protocol or, if DAT, it may be the same as consumer mode." The 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 file://evans.ee.adfa.oz.au/pub/dsp/misc You can get a G.721/722/723 package by email to teledoc@itu.arcom.ch, with GET ITU-3022 as the *only* line in the body of the message. This was originaly written by SUN, and includes ADPCM and ulaw encoders. This is also available as: file://svr-ftp.eng.cam.ac.uk/comp.speech/sources/G711_G722_G723.tar.Z 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. [From Lou Scheffer:] Theory of operation: 44.1 and 48 are in the ratio 147/160. To convert from 44.1 to 48, for example, we (conceptually): 1) interpolate 159 zeros between every input sample. This raises that data rate to 7.056 MHz. Since it is equivalent to reconstructing with delta functions, it also creates images of frequency f at 44.1-f, 44.1+f, 88.2-f, 88.2+f, ... 2) We remove these with an FIR digital filter, leaving a signal containing only 0-20 KHz information, but still sampled at a rate of 7.056 MHz. 3) We discard 146 of every 147 output samples. It does not hurt to do so since we have no content above 24 KHz. In practice, of course, we never compute the values of the samples we will throw out. So we need to design an FIR filter that is flat to 20 KHz, and down at least X db at 24 KHz. How big does X need to be? You might think about 100 db, since the max signal size is roughly +-32767, and the input quantization +- 1/2, so we know the input had a signal to broadband noise ratio of 98 db at most. However, the noise in the stopband (20KHz-3.5MHz) is all folded into the passband by the decimation in step 3, so we need another 22 db (that's 160 in db) to account for the noise folding. Thus 120 db rejection yields a broadband noise equal to the original quantizing noise. If you are a fanatic, you can shoot for 130 db to make the original quantizing errors dominate, and a 22.05 KHz cutoff to eliminate even ultrasonic aliasing. You will pay for your fanaticism with a penance of more taps, however. For more details, a technical report (the author's name is missing, if you know who - let me know!), is available is LaTeX source form as file://evans.ee.adfa.oz.au/pub/dsp/cd-rate-convert.tex and in PostScript as file://evans.ee.adfa.oz.au/pub/dsp/cd-rate-convert.ps There's a free implementation of Julius O. Smith III and someone else's "bandwidth-limited interpolation" rate conversion algorithm. The paper available as file://ccrma-ftp.stanford.edu/pub/DSP/Tutorials/BandlimitedInterpolation.eps.Z explains the algorithm. The source code in file://netcom.com/pub/thinman/resample.01.Z file://netcom.com/pub/thinman/resample.02.Z file://netcom.com/pub/thinman/kaiser.c implements the algorithm. It all works quite well. 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, DSP56100 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. DSP56L002: Low-power version of the DSP56002 offering identical performance as the DSP56002 but at 3.3V. Available in PQFP. 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. DSP56166: 60 MHz fixed point DSP; 16 bit data bus, 40 bit accumulators (2), host interface port, CODEC, 16-bit timer and event counter, serial ports (2), OnCE debug port, clock PLL, 4K data RAM, 2K program RAM. Available in PQFP. 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: DSP 16 FAMILY: DSP16A, $22.60; DSP1610, $91; DSP1616, $35.70 16 bit fixed point DSPs. The DSP16A has a 25ns cycle time while the 16C has an ADC and DAC on chip. The C-version also has a 4-pin JTAG interface. The 1610/1616 are enhanced versions intended for cellular phone use. The chips use separate on-chip 16-bit program- and data buses. The A and C versions have 12k x 16-bit program ROM and a 2k x 16-bit data-RAM while featuring parallell and serial I/O. DSP 32C/3210: DSP32C, $70(1000); DSP3210, $50(100k) 32-bit floating point with 40-bits accumulator and 16/24-bit fixed point. These DSP's uses a single 4M-word (3210: 4G-word) linear memory space instead of the separate program and data memory found on most DSP:s. The bus can be accessed four times and each internal memory two times per cycle. The 3210, along with the VCOS operating system is intended for use on the mother board of personal computers and workstations where it shares memory with the host. The 32C has three 512 x 32-bit RAM:s while the 3210 has two 1k x 32-bit RAMs and a 256 x 32-bit boot ROM. 32C: Serial and parallell I/O, 3210: Serial I/O, timer, DMA-controller. 3210 available at 50 and 66MHz. DSP3210/DSP3207: 32-bit floating point with four 40-bit floating-point accumulators and twenty-two general purpose 32-bit fixed point registers. Single 32-bit (4G-byte) linear memory space. Support for byte, 16-bit word, and 32-bit word accesses. Big/little endian interface. C-like assembly language. Up to four memory accesses per instruction. VCOS operating system allows sharing of host memory (e.g. mother-board or local-bus board) or operation out of inexpensive DRAM (e.g. ISA board). Two 1k x 32-bit RAMs and a 256 x 32-bit boot ROM. Serial I/O, timer, DMA-controller. The DSP3207 is functionally equivalent to the DSP3210 except it lacks the serial I/O and associated DMA controller and has been designed for low power dissipation. DSP3210 available at 55MHz/5V and 66MHz/5V. DSP3207 available at 55MHz/5V and 66MHz/5V and 40MHz/3V. Analog Devices: ADSP-2100: 40 and 50Mhz fixed point DSP (10 MIPS, 12.5MIPS). 16 bit operations with 40-bit multiply-accumulate. No on chip memory except for a 16 word instruction cache. Off chip harvard architecture. PGA and PQFP packages. ADSP-2101: Derived from ADSP-2100; 16 bit operations with 40-bit MAC register. Extras include on chip memory of 2Kx24 program memory instruction/data RAM and 1Kx16 data memory RAM, 16-bit timer, two serial ports, low power state. PGA, PLCC, PQFP packages. Fastest speed grade in production is 20.0 MHz (20.0MIPS). ADSP-2102: RAM/ROM version of 2101; user selects how much of the 2kx24 program memory is mask ROM. ADSP-2103: 3.3V version of the 2101 running at 10.24MHz (10.24 MIPs). PLCC, PQFP packages. ADSP-2105: 13.824Mhz (13.824MIPS) low cost 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. Architecture and instruction set identical to ADSP-2101. Pin compatible with 2101. PLCC package only (can use standard 68 pin plcc socket). This processor sells for US $9.90 in any quantity. ADSP-2115: Architecture and pinout same as ADSP-2101, but 1K program memory RAM, 1/2K data memory RAM with 2 serial ports, interval timer etc. PLCC, PQFP, and TQFP packages. Available in 13.8MHz, 16.67MHz and 20MHz (13.8, 16.67, 20 MIPs) ADSP-2161: Architechture and pinout same as ADSP-2101 but with 8Kx24 mask program memory ROM, 1/2K data memory RAM with two serial ports, interval timer etc. PLCC, PQFP packages. Availble in 16.67MHz (16.67MIPs) ADSP-2162: 3.3V version of the 2161 running at 10.24MHz (10.24MIPs). PLCC and PQFP packages. ADSP-2163: Architechture and pinout same as ADSP-2101 but with 4Kx24 mask program memory ROM, 1/2K data memory RAM with two serial ports, interval timer etc. PLCC, PQFP packages. Availble in 16.67MHz (16.67MIPs) ADSP-2164: 3.3V version of the 2163 running at 10.24MHz (10.24MIPs). PLCC and PQFP packages. ADSP-2111: Adds a 8/16bit host interface port to ADSP-2101 architecure allowing interface to Intel or Motorola style microprocessors. 13, 16.67 and 20 MIPs speeds available. PGA and PQFP packages. ADSP-21msp50: ADSP-2111 with an on chip a/d and d/a interface (65dB SNR) Additional low power modes allow CMOS standby (<100uA). 100-lead PQFP package. ADSP-2171: Speed & feature enhanced ADSP-2100 family processor with instruction set extensions, 2Kx24 program memory RAM, 2Kx16 data memory RAM, 8K words Mask programmable ROM (disablable) 2 serial ports, host interface port, CMOS standby powerdown mode, 1/2X instruction clock(i.e. 38.46ns cycle time from 13.0MHz clock to get 26MIPs performance) PQFP & TQFP packages. Faster version soon. ADSP-21020: 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 inexpensive version of '020 (16 MHz). Limited to 32-bit fixed and floating point. All of the processors (except the 2100 & 2171) use a 1X instruction clock and an on chip PLL to generate an internal 4X clock. The 2171 uses a 1/2X instruction clock and 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. Processors with internal memory support booting from inexpensive 8 bit EPROMS. All processors include hardware support for zero overhead looping, modulo addressing, single cycle context switch, and bit reversal addressing. All instructions, even those which access external memory can complete in 1 cycle. 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 Andrew Sterian (asterian@eecs.umich.edu) ported GCC to the DSP56100 family. Both this compiler and the previous incarnation are archived on wuarchive.wustl.edu (in the usenet/alt.sources directory) amongst other places. This is no longer the only DSP56100 compiler - Motorola also has compilers for each of their DSP families. 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 free 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). The TI DSP bulletin board is mirrored on ftp://ti.com/pub/mirrors/tms320bbs , and on file://evans.ee.adfa.oz.au/mirrors/tibbs. The TI site is the official one, but has no user contributed software. The file: file://evans.ee.adfa.oz.au/mirrors/tibbs/00README provides further guidance. Please restrict FTP session to outside of 8 am to 6 pm local time (10 pm to 8 am GMT). [Brad Hards, bradh@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.3.3: Where can I get a free assembler for the TI TMS320C30? Ted Rossin has written an assembler and linker for the TMS320C30. In his words, "It is somewhat limited by the fact that it can't handle expressions but it has worked fine for me over the past few years. There is no manual because it is a clone of the TI assembler and linker. However the linker command files use a different (easier to use) syntax. It runs on HP-UX workstations, Macs, IBM clones and believe it or not the Atari-ST (because I developed the code on it)." It is available for anonymous ftp from: file://schutz.ee.uts.edu.au/pub/DSP/c30/as30.tar.Z [Ted Rossin, rossin@fc.hp.com] Q3.3.4: What is Tick? Where can I get it? Considering the interest for a network check program for C40's, we have decided to release our code. Tick is a TMS320C40 parallel network detection and loader utility. It is quite versatile. Version 2.0 has been through some heavy testing on the PC host platforms (including a 100 processor configuration). We are using it daily to load our C40 networks. Version 2.0 has not been tested on a SUN host yet. We don't have a SUN interface to a C40 network. I expect several changes will be required to make it work on those platforms. Please get the changes back to us so that we may try to fit things all together. It is available from: file://evans.ee.adfa.oz.au/mirrors/tibbs/UserContributed/tick.tar.gz Now Supports: Transtech, Hunt, and Traquair boards hosted by DOS, SunOS, Linux Q3.3.5: I need a converter from DSK format to EPROM format. Where can I find one? This is a common requirement when you want to take the PC out of the loop and just load from a PROM. W.F.Schroeder (schroeder.pad@sni.de) posted a program to do this program to do this conversion to comp.dsp in Jun 94. It is available as ftp://evans.ee.adfa.oz.au/mirrors/tibbs/UserContributed/dsk2bin.c 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! }
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads