Article View: comp.dsp
Article #714comp.dsp FAQ [1 of 2]
From: Bradley Hards
Date: Wed, 26 Aug 1992 14:26
Date: Wed, 26 Aug 1992 14:26
472 lines
23035 bytes
23035 bytes
Archive-name: dsp-faq/part1
Last-modified: Thu Aug 27 1992
Version: 0.2
Here is the third release of the comp.dsp FAQ. Rather obviously it has a
long way to go. I am eagerly seeking out 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 hards4@ee.adfa.oz.au. My meta-comments are all in curly
braces {like this}
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
I am most grateful to the following contributors who added material to this
version of the FAQ:-
John Lazzaro lazzaro@boom.CS.Berkeley.EDU
Malachy Devlin madmal@spd.eee.strathclyde.ac.uk
Paul Russell paulr@syma.sussex.ac.uk
Pete Janzow pjanzow@prenhall.com
Greg Koker greg.koker@analog.com
Greg Smart rcogs@citri.edu.au
Get your name here - contribute something!
===========================================================================
Questions answered in this FAQ:
0. What is comp.dsp?
1. Summary of DSP books and significant research articles.
2. Where can I get some free/cheap software for dsp?
3. Where can I get the Motorola DSP C compilers source?
4. Where can I get a free compiler for the C30/C40 ?
5. OK then, where can I pay money for a C30/C40 compiler ?
6. Where can I get some algorithms?
7. Yeah, but thats all in fortran and I only wanted some simple stuff for
my 56000... (Or where to ftp stuff from Motorola's BBS - Dr BuB)
8. Where can I get the source for CELP ?
9. How does pitch perception work, and how do I implement it on my DSP chip?
10. What are the available DSP chips and chip architectures?
11. What are the available DSP prototyping boards and manufacturers?
===========================================================================
0. 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,
sci.image.processing.
=========================================================================
1. Summary of DSP books and significant research articles.
(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
(2) 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.
B. Widrow and S.D. Stearns, "Adaptive Signal Processing",
Prentice-Hall, Inc., Englewood Cliffs, N.J., 1985.
(3) Windowing articles.
>From: evans@eedsp.gatech.edu (Brian Evans)
Perhaps the classic overview paper for discrete-time windows is
"On the Use of Windows for Harmonic Analysis with the DFT, F. J. Harris,
IEEE Proceedings, Jan 1978, pp 51--83 "
It discusses some 15 different classes of windows including their
spectral responses and the reasons for their development.
>From: bobb@vice.ICO.TEK.COM (Bob Beauchaine)
"Some Novel Windows and a Concise Tutorial Comparison of Window
Families", Nezih C. Geckinli & Davras Yavuz, IEEE Transactions on
Acoustics, Speech, and Signal Processing, Vol. ASSP-26, No. 6,
December 1978.
=======================================================================
2. Where can I get some free/cheap software for dsp?
>From: jbuck@galileo.berkeley.edu (Joe Buck)
Gabriel is a hierarchical block diagram programming system for prototyping
signal processing systems on single or multiple processors. It has an
optional graphical interface. Contact: Alan Kamas, aok@ohm.berkeley.edu
How to get it:
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.
>From: evans@eedsp.gatech.edu (Brian Evans)
There was an entire session on this subject 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.
Sample of free (though possibly licensed and/or copyrighted) educational
software:
(1) Ptolemy--- block diagram simulator for DSP systems.
Runs on Suns under X. Graphical interface. See ICASSP '92 session.
Similar licensing system to gabriel package (see above)
Contact: ptolemy-request@ohm.berkeley.edu
(2) Khoros--- block diagram simulator for image and video processing.
Runs on Suns under X. Graphical interface. 1-D SP supported.
There is an entire Usenet news group for Khoros: comp.soft-sys.khoros
Contact: Univ. of New Mexico
(3) DSP Tutorials--- computer-aided instruction
Runs on Suns under SunView. Graphical interface.
Contact: Dr. Sally Wood of Santa Clara Univ.
Sample of public domain extensions to existing software:
(1) From the Matlab Users Group (Editor, hwilson@ua1vm.ua.edu)
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
(2) Mathematica--- Signal Processing Packages (SPP) and Notebooks
SPP implements 1-D symbolic convolution and 1-D/m-D linear symbolic
transforms (showing intermediate results). Interactive tutorial
Notebooks on analog filter design, DTFT, convolution, z-transform.
Contact: Brian Evans at evans@eedsp.gatech.edu
FTP site: gauss.eedsp.gatech.edu (130.207.226.24)
(different archive formats for different operating sys)
(3) Mathematica--- Controls Systems Packages (COSYPAK) and Notebooks
follows the textbook "Modern Controls Theory" by Ogata.
The packages are largely based on SPP (above).
Contact: Dr. Sreenath at sree@veda.esys.cwru.edu
FTP site: veda.esys.cwru.edu (129.22.40.9)
(4) Maple--- Linear systems toolbox
Contact: Tony Richardson amr@egr.duke.edu
FTP site: cameron.egr.duke.edu (pub/maple/linsys.tar.Z)
There are many course sequences being developed based on commercial
programs. In this case, the extensions to the commercial programs
would come with the purchase of the textbooks, e.g.
(1) Matlab--- four-part DSP curriculum, including Stochastic SP
Authored by Drs. McClellan, Parks, Burrus, and Schussler.
See ICASSP '92 special session.
Contact: Dr. McClellan at mcclella@eedsp.gatech.edu
=======================================================================
3. Where can I get the Motorola DSP C compilers source?
There are two separate compiler sources. One is the port of gcc 1.40 done
by Andrew Sterian (ASTERIAN@BNR.CA) and the other is a port of gcc 1.37.1
done by Motorola and returned to the FSF. These may be portable to gcc2.x.x
with some effort required. Neither of these compilers includes an
assembler, though a publicly available assembler 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 this newsgroup (like
wuarchive.wustl.edu)
For more information on the Motorola compilers try contacting Jeff Enderwick
(jeff@dsp.sps.mot.com).
>From: Andrew (A.) Sterian <ASTERIAN@BNR.CA>
The source code for the Moto compiler is available on nic.funet.fi.
My own DSP56K port has bowed to Motorola's version. 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.
=======================================================================
4. Where can I get a free compiler for the C30/C40 ?
Currently, you can't. {any corrections to this - anyone working on it?}
=======================================================================
5. OK then, where can I pay money for a C30/C40 compiler ?
TI has a C30/C40 compiler for C. Tartan has an ADA compiler. Computer
Motion has a C++ compiler for C3x based on GNU C++, but it appears they
haven't returned the deltas to FSF.
=======================================================================
6. Where can I get some algorithms?
These archives contain things such as matrix operations, FFT's and
generally useful things like that, as opposed to complete applications.
(1) there is host ux1.cso.uiuc.edu - log in as anonymous, get the
file math/README. It summarises the contents of the archive.
(2) there is the netlib host which also 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) It may be possible to get an extensive set of fortran routines
produced by the Naval Surface Warfare Centre. { Any one got more data ?}
(?) if you don't know where to find what you're after, try archie.
=======================================================================
7. Yeah, but thats all in fortran and I only wanted some simple stuff for
my 56000...
Firstly, not all of the above stuff is in fortran, some is in C, and you
could always use the f2c fortran to C compiler (use archie to locate the
nearest archive of f2c).
Alternatively, Dr BuB (the Motorola BBS) is mirrored on:
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
=======================================================================
8. Where can I get the source for CELP ?
From: jpcampb@afterlife.ncsc.mil (Joe Campbell)
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 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.
The following article describes the Federal-Standard-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:
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
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 10
for more on these cards.
=======================================================================
9. How does pitch perception work, and how do I implement it on my DSP chip?
From: Malcolm Slaney, Apple Computer, and John Lazzaro, UC Berkeley.
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
"An Introduction to the Psychology of Hearing," by B. C. J.
Moore, 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 it's own pitch. Even a
single sound can have more than one pitch. See for example
Demonstration 27 from the ASA Auditory Demonstrations CD.
=======================================================================
10. What are the available DSP chips and chip architectures?
{ This is based on my woefully inadequate databook collection. Anyone want
to add to this list? Manufacturers want to submit anything? }
a. TMS320C1x (TI) family of low cost fixed-point DSP's; 16 bit data, 32 bit
registers; Various RAM&ROM configurations; 16 bit I/O bus, serial ports.
b. TMS320C25 (TI) 50MHz fixed-point DSP; 16 bit data, 32 bit registers;
12.5 MIPS@50MHz.
c. TMS320C30 (TI) 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.
d. TMS320C40 (TI) 40/50 MHz floating point DSP; extensive parallel processing
support through 6 buffered byte-wide 20 Mb/s links and 6 channel DMA; cache.
e. TMS320C50 (TI) enhanced TMS320C25 (double thoughput); low overhead looping;
10Kwords SRAM on chip.
f. DSP32C (AT&T) floating point DSP; 32bit floating point, 16/24 bit fixed
point data.
From: Greg Koker <greg.koker@analog.com>
g. ADSP2100 (Analog Devices) 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. Has 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.6Mhz=16.6MIPS. Other
variants are : ADSP2102: Ram/rom version of 2101 where 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.
ADSP21msp50: ADSP2111 with an on chip a/d and d/a interface and
additional low power modes.
ADSP2161: has 8Kx24 mask rom.
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 processor 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.
h. DSP56001 (Motorola) 27 MHz fixed point DSP; 24 bit data, 56 bit accumulator;
Harvard architecture.
i. DSP96002 (Motorola) IEEE format floating point DSP; 32 bit data;
Harvard architecture.
=======================================================================
--
Please send email concerning this FAQ to hards4@ee.adfa.oz.au
Snail mail to : Brad Hards, Officers Mess, Australian Defence Force Academy,
Campbell ACT 2601, AUSTRALIA.
Technical Details
Message-ID:
<dspone_714839172@evans.ee.adfa.oz.au>Path:
arc1-ca.pugleaf.net!sparky!uunet!munnari.oz.au!manuel!sserve!newsShow Full Headers
Complete Article Headers
Newsgroups: comp.dsp,news.answers Path: arc1-ca.pugleaf.net!sparky!uunet!munnari.oz.au!manuel!sserve!news From: hards4@ee.adfa.oz.au (Bradley Hards) Subject: comp.dsp FAQ [1 of 2] Message-ID: <dspone_714839172@evans.ee.adfa.oz.au> Followup-To: poster Summary: This is a periodic posting to comp.dsp that gives information on frequently asked questions asked in this newsgroup. Sender: news@sserve.cc.adfa.oz.au Nntp-Posting-Host: sserve.cc.adfa.oz.au Organization: ADFA Vortex. X-Version: comp.dsp-faq version0.2 Date: Wed, 26 Aug 1992 14:26:17 GMT Approved: news-answers-request@MIT.Edu Lines: 472