Starting with DSP's, please help!
This question was asked and answered on the Chipdir mailing list.
From: Maroof H. Choudhury <email@example.com>
As a starter on DSP, I need some study material on digital signal
processing & DSP chips. Can anyone suggest anything, maybe some DSP coarse
papers? Also, what DSP chip should I select as a starting point?
Please help, Thanks in advance.
From: Jaap van Ganswijk <ganswijk@XS4ALL.NL>
Main DSP makers are: AD, Motorola and TI, I think.
I'd start with TI's TMS32C080 or it's latest successor.
Should have enough power for any project since it has 4
very fast DSP's and a RISC processor as far as I know.
Perhaps you should buy the evaluation board...
From: Rick Collins <firstname.lastname@example.org>
To: Multiple recipients of list CHIPDIR-L <CHIPDIR-L@fatcity.com>
Subject: Re: starting DSP, PLease help.
I would not recommend the 320C80 to anyone starting out in DSP or even to
many who are experienced with it. It is a very complex chip and is extremely
difficult to program. A much better chip to start with is the TMS320C31
which you can get on a DSP starter kit (DSK) for about $100 - $150. This is
a floating point chip which will make programming even easier for a novice.
Working in fixed point is not an easy way to start. The eval boards are
about $1000 and only have external memory as an advantage.
You might try accessing the Analog Devices web site. They have a lot of
application notes and their material is usually pretty good. They also make
very good chips. However, about 80% of the DSP chips out there are TI. So if
you want to learn what will be the most likely usefull chips go with TI. TI
has several DSP starter kits (DSK) for the fixed and floating point chips. I
recommend the one for the TMS320C31.
But in order to actually design a DSP application from the ground up I would
recommend that you take several courses in DSP at a University. To really
understand DSP takes a lot of math and intensive study. It is not as simple
as digital logic, but is much more like learning RF with subtleties and
application details that you will only learn by working with others who know.
I have been working with DSP for about 8 years and there are still many
things I need to learn.
Rick Collins Email: email@example.com
re:DSP, A Signal Processing Solutions Company
P.O. Box 1253
Warrenton, VA 20188-1253
Web Page: www.angelfire.com/biz/redsp/
From: Luis Miguel Brugarolas <firstname.lastname@example.org>
Seems a DiSPerate question :-)
The answer heavily depend on the subfield you want to study: Audio
filtering, video processing, communications, voice recognition, to name
A general introduction book is "Discrete Time Signal processing" Alan V.
Oppenheim, Ronald W. Schaefer. Prentice Hall ISBN: 0-13-216771-9. Texas
Instrumetns used to have few years ago a tutorial on DSP, quite basic.
Perhaps a good starting point.
DSP prcessors can be divided in fixed pint and floating point ones. To
sumarize, fixed point are more cheap and fast, but you must take care of
not overflowing or underflowing it in intermediate operations, not an
esy operation many times. Floating point ones are getting very cheap and
powerfull these days.
I have direct experience with TI's TMS320C31, a very powerfull 32-bit
floating point DSP, which in fact it is a microcontroller. C32 has a
configurable memory interface, so that you can use 8-bit RAM or 16 bit
as a rtadeof between cost and performance. These chips make intensive
pipelining so they behave very well in typical DSP applications, and not
so well when branching is common. Quite nice processors anyway.
TI offers very low cost evaluation boards including a CODEC for most its
DSPs, that can be loaded serially, using only DSP internal memory. BUT
they only offer assembler. For TI this is quite hard. I have been told
AD assebler is quite easy, but I do not know.
Luis M. Brugarolas
From: email@example.com (Eldar F. Yuzbashev)
I bought a book very recently. Haven't read it yet but it seems to be a
good intro into DSP field. The book uses Texas Instruments' DSP as an example.
A Simple Approach to Digital Signal Processing
Craig Marvin and Gillian Ewers
1996, John Wiley and Sons, Inc.
Good luck! And please keep the list informed about your findings.
From: Robert L. Smith <firstname.lastname@example.org>
I went down this path over a year ago and found an excellent student level
text with a floppy with programs to play DSP games on your PC.
Here is a copy (cut and paste) of a post I made to a special interest
group on the subject back then. It includes a reaction from one of the
Hello to other DSP knowledge phreques
>One of the participants in the thread mentioned the book, "Digital Signal
>Processing A laboratory approach using PC-DSP". I acquired a copy and have
>found it to be an extremely effective learning tool. The book is a real
>It comes with a copy of of the student version of PC-DSP on floppy. PC-DSP is
>an interactive, PC based tool which can generate and analyze signals in the
>digital domain. The book contains 140 exercises tailored to PC-DSP and
> 73 de Bob, wa4ypv email@example.com
I obtained a copy of this book and the Windows version of the program about
a year ago. Good learning tool with good exercises.
It is a good way to learn the basics of DSP. Be prepared for some math
re-learning if you have not exercised that part of your brain recently.
Now, many months later, I continue to rate the book very high!!
Its from Prentice Hall ISBN: 0-13-328139-6. They are on the web
and it can be purchased online. As I recall the price was fairly reasonable.
Also, Motorola published a very good (but REALLY basic) DSP introduction
manual with their 68hc16 evaluation kit. If you can get a copy of the
evaluation kit you will learn a lot quickly and the book I mention
above picks up where the kit leaves off.
Happy DSPing, Bob Smith
From: Paul Russell <firstname.lastname@example.org>
Organization: UTexas Mail-to-News Gateway
Subject: Re: Can I decode tones with a DSP chip?
On 7 Jul 1995 06:06:45 GMT, you wrote:
>For my own education I would like to do a project using a DSP chip. I'm
>thinking that a tone decoder might be a good starter project, possibly
>something to look for one or more of certain audio tones which may be
>present in an audio signal. How would I go about decoding tones with a
>digital signal processing chip? Is this possible? Which DSP processor
>would be my best choice?
You should follow the comp.dsp newsgroup, and download the DSP Faq.
To decode tones in DSP there are several methods. The choice of method
usually is made depending upon how the tone is present, i.e. as a
constant tone, a modulated signal, as a short beep/burst, etc. Your
application would define the best method.
1) Basic filter, design a filter that passes only a narrow band
centred on the tone you wish to detect. The output may be rectified
and low pass filtered to give you a strength scale output., or it may
just be passed. Multiple filter setups can be run upon the same input
data to detect multiple tones.
2) FFT*, you can get FFT* code for free for most DSPs. You record a
block of audio samples (the longer the block timewise, the better
frequency resolution you get in the output, but the larger the FFT*
must be=more memory). Run the FFT* on the input data. If the FFT* is
complex input, simply fill the real locations with the input data, and
the imaginary with 0 (unless you have complex input data of course).
Run the FFT* on the block, then you get complex output. If you take the
squareroot of real squared + imaginary squared you'll get the
magnitude of the output, if you take the arctan of the real and
imaginary you get the relative phase. Check the Texas Instuments BBS
for a file on a simplified phase angle calculation in DSP code if you
(I think its ftp.ti.com/mirrors/tms320bbs/phase.asm)
Other methods exist (Correlation, Wavelets...), I would recommend the
A good project is an audio band spectrum analyser-
What you do is have 2 buffers in memory,
- Output sample from audio buffer A, and input a new sample to the
memory location, (i.e. output old buffer contents while inputting new
-At the same time (usually in non-irq code) perform an FFT* on Buffer
B, the convert Buffer B data to magnitude (log magnitude is fine,
there is no need to do a squareroot) log mag= R*R + I*I.
-After the processing of buffer B set the value in the first buffer
location to the maximum negative value, this will appear as a spike on
the D/A output and can be used to syncronize an ocilloscope on the D/A
output to the FFT* Frames.
Swap, Output/Input buffer B while processing Buffer A
Warning, if the input amplitude is too great to the FFT*, the output
will be garbage, experimentation will show you a good attenuation for
the input signal (Just attenuate the signal until the output makes
So take any audio input signal and feed into your DSP, as well as
displaying on ocilloscope trace 2. Take the DSP output and put on
scope trace 1. Set the scope to trigger on the spike ( the max neg
point) in the FFT* output on trace 1. Analyse your voice, tones, etc.
Paul G Russell, Newfoundland, Canada, email@example.com
||DSP books, boards, manufacturers etc.