G. H. Golub and C. F. van Loan, Matrix Computations, Third Edition,
John Hopkins University Press, 1996, ISBN 081085413-X.
S. M. Kay, Modern Spectral Estimation: Theory and Application,
Prentice Hall, 1988, ISBN 0-13-598582-X.
R. G. Lyons, Understanding Digital Signal Processing,
Addison-Wesley Publishing Co., 1997, ISBN 0-201-63467-8.
Sanjit K. Mitra and James F. Kaiser, Handbook for Digital
Signal Processing, John Wiley and Sons, 1993, ISBN 0-471-61995-7.
A. V. Oppenheim, A. S. Willsky, and S. H. Nawab, Signals & Systems,
Prentice-Hall, Inc., 1996, ISBN 0-13-814757-4.
A. V. Oppenheim and R. W. Schafer, Digital Signal
Processing, Prentice-Hall, Inc., Englewood Cliffs, N.J.,
1975, ISBN 0-13-214635-5.
A. V. Oppenheim and R. W. Schafer, Discrete-Time Signal
Processing, Prentice Hall, Englewood Cliffs, New Jersey 07632,
1989, ISBN 0-13-216292-X.
S. J. Orfanidis, Optimum Signal Processing, Second Edition, 1989, MacMillan Publishing, USA, ISBN 0-02-9498597.
T.W. Parks and C. S. Burrus, DFT/FFT and Convolution Algorithms: Theory and Implementation, John Wiley and Sons, 1985, ISBN 0-47-181932-8.
Thomas Parsons, Voice and Speech Processing, McGraw-Hill,
1987, ISBN 0-07-048541-0.
W. H. Press, S. A. Teukolsky, W. T. Vetterling, and B. P. Flannery, Numerical Recipes in C, Second Edition, Cambridge University Press, 1992, ISBN 0-52-143108-5.
J. G. Proakis and D. G. Manolakis, Digital Signal Processing: Principles, Algorithms, and Applications, MacMillan Publishing, New York, NY, 1992, ISBN 0-02-396815-X.
L. R. Rabiner and R. W. Schafer, Digital Processing of Speech
Signals, Prentice Hall, 1978, ISBN 0-13-213603-1.
S. D. Stearns and R. A. David, Signal Processing Algorithms, Prentice Hall, Eaglewood Cliffs, NJ, 1988. ISBN
P. P. Vaidyanathan, Multirate Systems and Filter Banks,
Prentice-Hall. 911 pp. ISBN 0-13-605718-7.
J. R. Treichler, C. R. Johnson, and M. G. Lawrence, Theory and Design of Adaptive Filters, John Wiley & Sons, New York, NY, 1987, ISBN 0-47-183220-0.
B. Widrow and S.D. Stearns, Adaptive Signal Processing,
Prentice-Hall, Inc., Englewood Cliffs, N.J., 1985. ISBN 0-13-004029-0
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.
D. H. Johnson and D. E. Dudgeon, Array Signal Processing, Concepts and
Techniques, Prentice-Hall, 1993. ISBN 0-13-048513-6.
R. T. Compton, Jr., Adaptive Antennas, Concepts and
Performance, Prentice-Hall, 1988, ISBN 0-13-004151-3.
There are several typos in the above paper. The errors are corrected in:
A. H. Nuttall, "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 and 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.
Lineu C. Barbosa, "A Maximum-Energy-Concentration Spectral
Window," IBM J. Res. Develop., Vol. 30, No. 3, May 1986, p. 321-325.
D. J. Thomson, "Spectrum Estimation and Harmonic Analysis,"
Proc. of the IEEE, vol. 70, no. 9, pp. 1055-1096, Sep. 1982.
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.
ISBN 0-13-039115-8.
Hal Chamberlin, Musical Applications of Microprocessors,
2nd Ed., Hayden Book Company, 1985.
Deta S. Davis, Computer Applications in Music: A
Bibliography, 537 pages, ISBN 0-89579-225-7, pub: A-R
Editions.
Charles Dodge and Thomas A. Jerse, Computer Music: Synthesis,
Composition, and Performance, New York: Schirmer Books, 1985.
ISBN 0-02-873100-X.
Digital Signal Processing Committee of IEEE Acoustics, Speech,
and Signal Processing Society, ed., Programs for Digital Signal
Processing, New York: IEEE Press, 1979.
F. Richard Moore, Elements of Computer Music, Englewood
Cliffs, NJ: Prentice-Hall, 1990. ISBN: 0-13252-552-6.
Ken C. Pohlmann, The Compact Disc: A Handbook of Theory and
Use, 288 pages (cloth) ISBN 0-89579-234-6.
(paper) ISBN 0-89579-228-1, pub: A-R Editions.
Curtis Roads and John Strawn, ed., The Foundations of
Computer Music, Cambridge, MA: MIT Press, 1985.
Joseph Rothstein, Midi: A Comprehensive Introduction (Computer
Music and Digital Audio, Vol 7), 2nd Ed., A-R Editions, 1995.
ISBN 0-89-579309-1.
Ken Steiglitz, A DSP Primer - With Applications to Digital
Audio and Computer Music, Addison-Wesley, 1996, 314 pp,
softcover, ISBN 0-8053-1684-1.
John Strawn, ed., Digital Audio Engineering, 144 pages, A-R Editions.
ISBN 0-86576-087-X.
John Strawn, ed., Digital Audio Signal Processing: An
Anthology, Los Altos, CA: W. Kaufmann, 1985. ISBN 0-86-576087-X.
John Strawn, ed., Digital Audio Signal Processing, 283
pages, ISBN 0-86576-082-9, pub: A-R Editions.
{please let us know at comp-dsp-faq@bdti.com if they are out!}
David Cope, "Computer Analysis of Musical Style"
Dexter Morrill and Rick Taube, "A Little Book of Computer
Music Instruments"
Check more articles from Journal of the Audio Engineering
Society (JAES), for example more articles by Strawn.
[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
A. Bateman and W. Yates, Digital Signal Processing Design, Computer
Science Press, MD, 1989.
R. Chassaing, Digital Signal Processing - Laboratory Experiments Using C
and the TMS320C31 DSK, Wiley, NY, ISBN 0-471-29362-8, 1999.
R. Chassaing, Digital Signal Processing with C and the TMS320C30,
Wiley, N. Y., 1992.
R. Chassaing and D. W. Horning, Digital Signal Processing with the
TMS320C25, Wiley, N. Y., 1990.
Y. Dote, Servo Motor and Motion Control Using Digital Signal
Processors, Prentice Hall, N. J. , 1990.
Mohamed El-Sharkawy, Digital Signal Processing Applications
with Motorola's 56002 Processor, Prentice Hall,
Upper Sadle River, NJ, ISBN 0-13-569476-0, 1996.
Dale Grover and John R. Deller, Digital Signal Processing
and the Microcontroller, Prentice Hall, NJ, ISBN 0-13-081348-6,
1999.
J. L. Hennessy and D. A. Patterson, Computer Architecture: A Quantitative Approach, Morgan Kaufmann Publishers, San Mateo, CA, 1990, ISBN 1-55-860329-8.
R. Higgins, Digital Signal Processing in VLSI, Prentice Hall, N. J., 1990. ISBN 0-13-212887-X.
B. A. Hutchins and T. W. Parks, A Digital Signal Processing
Laboratory Using the TMS320C25, Prentice Hall, N. J., 1990.
D. L. Jones and T. W. Parks, A Digital Signal Processing Laboratory
using the TMS32010, Prentice Hall, N. J., 1988.
P. Lapsley, J. Bier, A. Shoham, and E. A. Lee,
DSP Processor Fundamentals: Architectures and Features,
Berkeley Design Technology, Inc., Fremont, CA, 1996.
Vijay Madisetti,
VLSI Digital Signal Processors: An Introduction to Rapid
Prototyping and Design Synthesis,
IEEE Press/Butterworth-Heinemann, 1995.
Henrik V. Sorensen and Jianping Chen, A Digital Signal Processing
Laboratory Using the TMS320C30, Prentice Hall, Upper Sadle
River, NJ, ISBN 0-13-741828-0, 1997.
Steven A. Tretter, Communication system design using DSP
algorithms: with laboratory experiments for the TMS320C30, Plenum
Press, Norwell, MA, ISBN 0306450321, 1995.
[Brian Evans, bevans@combo.ece.utexas.edu; Andreas Spanias, spanias@asu.edu]
Prof. Brian Evans: Real-time DSP course online at
http://www.ece.utexas.edu/~bevans/courses/realtime/.
TechOnLine (http://www.techonline.com/): Courses on various topics.
[Brian Evans, bevans@combo.ece.utexas.edu]
The packages listed below are mostly not oriented for use with a
specific DSP processor. See the later sections in the FAQ for software
relevant to a particular programmable DSP chip.
Windows version (MATLAB 5.3): ISBN 0-13-022598-3
For general info: matlab@prenhall.com (or
http://www.mathworks.com/products/studentedition/).
FOR STUDENTS IN THE US AND CANADA: The MATLAB Student Version, available
from The MathWorks, is a full-featured version of MATLAB and includes
Simulink (with model sizes up to 300 blocks) and the Symbolic Math toolbox.
It is available for Windows and Linux. See
http://www.mathworks.com/products/studentversion/.
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:
The complete manual in Postscript format is available at
file://ftp.mathworks.com/pub/contrib/v4/misc/comm_tbx.manual.ps.
[Mehmet Zeytinoglu, mzeytin@ee.ryerson.ca]
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
Version 3.0 of the SPP (an "overhauled version of 2.x" according to
the author) is available commercially in two products: the Signals
and Systems Pack from Wolfram Research, and a book entitled "Mathematica
Notebooks to Accompany Contemporary Linear Systems Using MATLAB" from
PWS Publishing company.
The following Mathematica notebooks (from Julius Smith, jos@ccrma.stanford.edu) can be ftped from
ccrma-ftp.stanford.edu:
(There are other DSP related items in pub/DSP on ccrma-ftp;
see other sections of this FAQ for details).
The kit is located in the at:
file://crl.dec.com/pub/DEC/AF/
A sample kit of sound-bites is available as:
file://crl.dec.com/pub/DEC/AF/AF2R2-other.tar
Author: Dr. Shalom Halevy, shalevy@mathwizards.com, PO BOX
22564, San Diego, CA 92192 (619) 552-9031 USA (Tel/FAX)
http://www.mathwizards.com.
The current version of this software demonstrates continuous time convolution,
discrete time, and circular convolution along with cross-correlation.
Organizations without Internet
access can obtain Ptolemy, without support, from ILP. This is often a
more stable, less featured version than is available by FTP.
This includes printed documentation, including installation
instructions, a user's guide, and manual pages. A handling
fee will be charged.
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/pub/comp.speech/syntheses/english2phoneme.tar.gz
The comp.speech FTP site includes a speech synthesis directory at
ftp://svr-ftp.eng.cam.ac.uk/pub/comp.speech/synthesis.
The main package is "rsynth" which is a complete text to speech synthesis
system. Several component packages are also present. "textnorm"
converts non-words such as digit strings into words (e.g. 1000 to
ONE THOUSAND). "english2phoneme" does some of the same but its main
functionality is to guess an appropriate phoneme sequence for each
word. "klatt" takes a parametric form that describes each phoneme
and converts it to a waveform. Other packages exist in the same
directory to edit and visualise the klatt parameters.
[Tony Robinson, ajr@softsound.com]
The source for the programs (meteor.p, form.p, meteor.c, and form.c) and
the METEOR paper as a postscript file may be found at http://www.
music.Princeton.edu/classes/class.html. The programs were originally
written in Pascal and then evidentally run through p2c to produce the C
versions; all the necessary Pascal library stuff is included in the C
code and they built error-free out of the box for me on an SGI machine.
There is no manual. The paper includes instructions on running the programs.
[Steve Clift, clift@mail.anacapa.net]
Weimin Liu has created a Windows 95 interface to the Meteor program, which
can be downloaded from
http://www.nyx.net/~wliu/filter.html.
The packages are available from
http://www.TSP.EE.McGill.CA/software/FilterDesign/
or directly via anonymous ftp from
ftp://ftp.TSP.EE.McGill.CA/pub/FilterDesign.
Another package, libtsp, is a library of C-language routines for signal processing.
The package is available from
http://www.TSP.EE.McGill.CA/software/libtsp/ or directly via anonymous ftp from ftp://ftp.TSP.EE.McGill.CA/pub/libtsp.
[Peter Kabal, kabal@tsp.ee.mcgill.ca]
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.Waldman@dsto.defence.gov.au, from Charles
Owen at mgcbo@uxa.ecn.bgu.au; also Andrew Ukrainec, ukrainec@InfoUkes.com]
This program will output to an ASCII file the window coefficients that
can be easily dumped to an EPROM or included in a program. It also
generates both time and frequency domain graphs so that the user can
visually verify the widow record length and spectral content. I will
gladly provide any interested parties with my MATLAB code.
We have released a set of Matlab packages to optimize the following
characteristics of analog filter designs simultaneously:
subject to constraints on the same characteristics. The Matlab
packages take about 10 seconds for fourth-order filters and 3 minutes
for eighth-order filters to run on a 167-MHz Sun Ultra-2 workstation.
We use the symbolic mathematics environment Mathematica to describe
the constrained non-linear optimization problem formally, derive the
gradients of the cost function and constraints, and synthesize the
Matlab code to perform the optimization. In the public release,
we provide the Matlab to optimize analog IIR filters of fourth,
sixth, and eighth orders. Using the Mathematica formulation, designers
can add new measures and constraints, such as capacitance spread for
integrated circuit layout, and regenerate the Matlab code.
We describe the framework in [1]. An earlier version of the framework
is described in [2]. We plan to extend this framework to digital IIR
filters.
[1] N. Damera-Venkata, B. L. Evans, M. D. Lutovac, and D. V. Tosic,
Joint Optimization of Multiple Behavioral and Implementation
Properties of Analog Filter Designs, Proc. IEEE Int. Sym. on
Circuits and Systems, Monterey, CA, May 31 - Jun. 3, 1998, vol. 6,
pp. 286-289.
http://www.ece.utexas.edu/~bevans/papers/1998/filter_optimization/.
[2] B. L. Evans, D. R. Firth, K. D. White, and E. A. Lee,
Automatic Generation of Programs That Jointly Optimize
Characteristics of Analog Filter Designs, Proc. of European
Conf. on Circuit Theory and Design, Istanbul, Turkey,
August 27-31, 1995, pp. 1047-1050.
http://ptolemy.eecs.berkeley.edu/papers/filter_design_ecctd95.ps.Z.
[Brian Evans, bevans@combo.ece.utexas.edu]
[Grant Griffin, grant.griffin@iowegian.com]
Q1.1: Summary of DSP books and significant research articles
Updated 6/3/98Q1.1.1: Bibles of DSP theory
This book is the only real reference for filter banks and
multirate systems, as opposed to being a tutorial.
Peter Kootsookos
Excellent reference work, but assumes you know a fair amount
to begin with. [Phil Lapsley]
This is an updated version of the original, with some old
material deleted and lots of new material added.
An introduction to signal processing methods which have many
applications including speech analysis, image processing, and oil exploration.
The author uses optimum Wiener filtering and least-squares estimation concepts
as unifying themes and includes subroutines for FORTRAN and C. [Juergen
Kahrs, jkahrs@castor.atlas.de]
The book is also available on-line at http://www.nr.com.
Q1.1.2: Adaptive signal processing
Q1.1.3: Array signal processing
Q1.1.4: Windowing articles
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, bevans@ece.utexas.edu]
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]
In his classic 1982 paper, David Thompson proposes the powerful
multiple-window method, which is an elegant and robust technique
for spectrum estimation. Based on the Cramer representation,
Thompson's method is nonparametric, consistent, efficient, and
optimally suited for finite data samples. In addition, it has
excellent bias control and stability, provides an analysis of variance
test for line components, and finally, works very well in many practical
applications. Unfortunately, his important work has been neglected in
many textbooks and graduate courses on statistical signal processing.
[Dong Wei, wei@vision.ece.utexas.edu, and
Brian Evans, bevans@ece.utexas.edu]
Q1.1.5: Digital audio effects processing
Books:
Forthcoming books:
Recommended. [Juhana Kouhia, jk87377@cc.tut.fi]
Contains article on analysis/synthesis by Strawn, recommended;
also an another article maybe by J.A. Moorer [Juhana Kouhia, jk87377@cc.tut.fi]
Contains J.A. Moorer's classic "About This Reverb Business..."
and contains an article which gives a code for Phase Vocoder --
great tool for EQ, for Pitchshifter and more [Juhana Kouhia, jk87377@cc.tut.fi]
Recommended. [Quinn Jensen, jensenq@qcj.icon.com]
Articles:
]
Ok article, but you have to know basic DSP operations. [Juhana Kouhia, jk87377@cc.tut.fi]
Q1.1.6: Digital signal processing implementation
It's a good primer on DSP theory and practice (albeit
slightly out of date regarding today's chips), aimed at both analog
engineers entering the digital realm and digital engineers dealing with
real-world problems. Its hardware orientation is towards components and
the Analog Devices ADSP-2100 series (just emerging at the time of
publication), but there is much in it of fundamental tutorial value.
[DanShein@ix.netcom.com]
Q1.2.1: Courses on DSP
Q1.2.2: On-line courses on DSP
Q1.3: Where can I get free software for general DSP?
Updated 6/3/98
Q1.3.1: DSP Packages for MATLAB
Updated 11/18/99
Macintosh version (MATLAB 5.0): ISBN 0-13-272485-5
MATLAB user's group public domain extensions to MATLAB
Wavelet Tools
Communications Toolbox
Digital Filter Package (DFP)
Implementation of the CELP Federal Standard 1016 Speech Coder
GSM Routines
Q1.3.2: DSP Packages for Mathematica
Updated 1/13/97Note: FOR STUDENTS: A student version of Mathematica is available. It 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.
Signal Processing Packages (SPP) and Notebooks, Version 2.9.5
Windows: file://mathsource.wri.com/pub/NumberedItems/0203-599-0011
EE341
Control Systems Analysis Package (COSYPAK) and Notebooks
Other Mathematica DSP Notebooks
Q1.3.3: Other DSP Libraries
Updated 10/18/99
Audio File I/O Routines
FFTW ("Fastest Fourier Transform in the West")
Intel Signal Processing Library
ISIP Automatic Speech Recognition System
ISIP Foundation Classes
Linear Systems Toolbox for Maple
Signal Processing using C++ (SPUC)
Vector/Signal/Image Processing Library (VSIPL)
Q1.3.4: DSP Software
Updated 10/18/99
AudioFile System
Khoros
MathViews, WaveXplorer, MathXplorer
PC Convolution
Dr. Kurt Kosbar
117 Electrical Engineering Building
University of Missouri - Rolla
Rolla, Missouri, USA 65401, phone: (314) 341-4894
e-mail: kk@ee.umr.eduPtolemy
EECS/ERL Industrial Liaison Program Office
Software Distribution
205 Cory Hall
University of California, Berkeley
Berkeley, CA 94720
(510) 643-6687
email: ilpsoftware@eecs.berkeley.edu
SANTIS (now Dataplore)
ScopeDSP
Shorten
Q1.3.5: Text to Speech Conversion Software
Updated 1/7/97
Q1.3.6: Filter Design Software
Updated 9/2/99
Tod M. Schuck
NAWCAD Patuxent River
Combat Identification Section
Code 4.5.8.2.3.1
St. Inigoes, MD 20684-0010
e-mail: tod_schuck@idsmail.combat-edt.navy.mil