From: hards4@ee.adfa.oz.au (Brad Hards)
Subject: comp.dsp FAQ 0.1 [1/2]
Organization: ADFA Vortex
Date: Mon, 17 Aug 1992 13:48:06 GMT

Here is the second 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}

I am most grateful to the following contributors:-
Brian Evans        evans@eedsp.gatech.edu 
Andrew Sterian     ASTERIAN@BNR.CA
Phillip Musumeci   phillip@ee.adfa.oz.au
Joe Campbell       jpcampb@afterlife.ncsc.mil
Phil Lapsley       phil@rivetjoint.lapcon.com
Joe Buck           jbuck@ohm.berkeley.edu
=========================================================================
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.

L.R. Rabiner & R.W. Schafer, "Digital Processing of Speech Signals"
Prentice Hall 1978 ISBN 0-13-213603-1

(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: ISBN=0138560064; Book + disk: ISBN=0138559740
    for 3.5" or ISBN=0138559821 for 5.25". 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
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)

>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. 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.

g. ADSP2100 (Analog Devices) 40 Mhz fixed point DSP; 10 MIPS; 16 bit data,
32 bit registers.

h. ADSP2101 (Analog Devices) 12.5 MHz fixed point DSP; 12.5 MIPS; 16 bit
data, 32 bit registers.

i. ADSP21020 (Analog Devices) 20/25 MHz IEEE format floating point DSP;
32 bit extenal, 40 bit internal data; context switching.

j. DSP56001 (Motorola) 27 MHz fixed point DSP; 24 bit data, 56 bit accumulator;
Harvard architecture.

k. DSP96002 (Motorola) IEEE format floating point DSP; 32 bit data;
Harvard architecture.
=======================================================================







Newsgroups: comp.dsp