PDA

View Full Version : Independent study of math for DSP


Mike
11-25-2003, 06:02 PM
Dear group,
I have an "Electronic technician" education and work experience background.
I want to study DSP on my own. The highest level of math that I presently
understand is pre-calculus mathematics. What are the specific names of the
high level maths that I must learn to fully master the understanding of DSP?
Should consider or do I need the Matlab program for thorough, DSP work.
Someday, I would like to implement my newly, self-taught knowledge in ham
radio, electronic music, audio, video, and RF applications. Please give a
thorough answer, like specific book titles, etc.. Thank you for all your
help. Goodbye for now.

robert bristow-johnson
11-25-2003, 09:19 PM
In article [email protected], Mike at
[email protected] wrote on 11/25/2003 13:02:

> I have an "Electronic technician" education and work experience background.
> I want to study DSP on my own. The highest level of math that I presently
> understand is pre-calculus mathematics.

i presume that means high-school to college freshman level algebra. a
little trigonometry, perhaps?

> What are the specific names of the
> high level maths that I must learn to fully master the understanding of DSP?

College Algebra
Trigonometry
Calculus (single and multi-variable)
Differential Equations (inc. Laplace Transform)
Multiple Applied Mathematics topics:
Complex-Variables
Matrix Theory (Linear Algebra)
Probability, Random Variables
Numerical Methods
(how to solve problems that have no closed-form solution)

more in the EE department:
Linear Electric Circuits (maybe a little bit on filter design here ... )
Electronics ( ... or here ... )
Linear System Theory ( ... or here. )
Communications Systems (maybe a teeny bit if Information Theory)
Digital Signal Processing

> Should consider or do I need the Matlab program for thorough, DSP work.

wouldn't hurt, but DSP existed before MATLAB, so you can do a lot of DSP
stuff with a basic C or C++ compiler/linker. maybe you can get an old
Turtle Beach Tahiti soundcard (ISA bus) and program an old, but pleasant,
DSP chip (and hear the results).

> Someday, I would like to implement my newly, self-taught knowledge in ham
> radio, electronic music, audio, video, and RF applications. Please give a
> thorough answer, like specific book titles, etc.

oh geez, that takes too much work. someone else can do the books.

> Thank you for all your help. Goodbye for now.

you might byte off more than you can chew, but maybe not. lot's of us are
self-taught in somethin' or 'nother (e.g. i never took a course in
Information Theory but i taught myself some of it and my textbooks back in
the '70s did a terrible job with Linear System Theory and i self taught
myself a lot of the "why's" that came up).

r b-j

Rick Armstrong
11-25-2003, 10:15 PM
Hi Mike,

> ...names of the high level maths...
> ...in ham radio, electronic music, audio,
> video, and RF applications...

This doesn't directly address your question, but I have a suggestion: turn
your question upside-down. Pick a single topic or application that really
sparks your interest, and begin experimenting and asking around. As soon as
you do this, you'll find out exactly what mathematical tools you're lacking
(in fact, this will jump out at you in a rather painful fashion). It's
likely that you'll learn the math much more quickly if it applies to the
task at hand (this has been my experience, at least).

> fully master the understanding of DSP?

I hate to get all metaphysical on ya, but I don't think there's any such
thing as "fully mastering DSP". It's just an ongoing progression from one
level of understanding to another.

> specific book titles

"Understanding Digital Signal Processing" by Richard Lyons, if I had to pick
just one. Go here www.dspguru.com for a longer list of book suggestions.

HTH

Rick Armstrong

(note: reply address is bogus)

Rick Lyons
11-26-2003, 02:17 PM
On Tue, 25 Nov 2003 10:02:30 -0800, "Mike" <[email protected]>
wrote:

> Dear group,
>I have an "Electronic technician" education and work experience background.
>I want to study DSP on my own. The highest level of math that I presently
>understand is pre-calculus mathematics. What are the specific names of the
>high level maths that I must learn to fully master the understanding of DSP?
>Should consider or do I need the Matlab program for thorough, DSP work.
>Someday, I would like to implement my newly, self-taught knowledge in ham
>radio, electronic music, audio, video, and RF applications. Please give a
>thorough answer, like specific book titles, etc.. Thank you for all your
>help. Goodbye for now.
>
>

Hi,

algebra's enough for the first few years.
You'll learn the other math you need as time
goes by.

Ya know, you should check:

http://www.redcedar.com/learndsp.htm

Good Luck,
[-Rick Lyons-]

Fred Marshall
11-26-2003, 09:09 PM
"Mike" <[email protected]> wrote in message
news:[email protected]...
> Dear group,
> I have an "Electronic technician" education and work experience
background.
> I want to study DSP on my own. The highest level of math that I presently
> understand is pre-calculus mathematics. What are the specific names of
the
> high level maths that I must learn to fully master the understanding of
DSP?
> Should consider or do I need the Matlab program for thorough, DSP work.
> Someday, I would like to implement my newly, self-taught knowledge in ham
> radio, electronic music, audio, video, and RF applications. Please give a
> thorough answer, like specific book titles, etc.. Thank you for all your
> help. Goodbye for now.

I like Rick Armstrong's response. Here's mine:

Apply a finite impulse response (FIR) filter in the time domain. Here are
the coefficients or weights of a simple one: 0.25 0.5 0.25.

y(0)=0.25*x(-2) + 0.5*x(-1) + 0.25*x(0) where the x's are adjacent samples
and you read this as:
y at time zero is equal to
0.25 times the input sample that occured two sample intervals ago
plus
0.5 times the input sample that occured one sample interval ago
plust
0.25 times the current input sample
Then, y at any subsequent time sample point is calculated the same way but
the indices of the samples changes accordingly as in:
y(5)=0.25*x(3) + 0.5*x(4) + 0.25*x(5)

Either you can compute the values of "x" on the fly or you can store an
array of x values.
If you compute the values of "y" on the fly, then the filtering action
should be pretty easy to envision.
If you compute the values of "y" by sliding the computation along an array
of x values you get the same thing, right?
Now that you've done it, know that the operation is called "convolution".
tada!!
You have just taken a huge step.

Apply an infinite impulse response (IIR) filter in the time domain. Here's
a simple one:

y(0)=0.25*x(-2) + 0.5*x(-1) + 0.25*x(0)- 0.25*y(-1)

Note that if x is a constant, say = 1.0, then the weighted sum of x samples
is 1.0 and the output is reduced by 0.25 of the previous output.
Eventually, if there's infinite precision in the arithmetic, the output goes
to 0.8 in an oscillatory fashion.

You have just taken another huge step.

Messing with the coefficients and changing the number of them makes
different filters.
There are lots of filter design programs available that meet various
criteria.
The longer the filter (the more terms in the sums), the sharper the
frequency response.

*************
From your ham radio experience you know something about modulation. You
should take a look at sampling - which is a type of modulation. You should
understand a bit about sampling, signal bandwidth and aliasing caused by
sampling.

*************
Take a look at Fourier Transform pairs. You don't have to do much math to
do this - and don't need to compute Fourier Transforms. Look at the results
that are tabulated. Just look at things like widths of functions in time
and frequency and zero crossing distances, etc.
Note that wide time functions have generally narrow spectra and narrow time
functions have generally wide spectra. Learn some likely transform pairs.
You probably already know that a carrier is expressed in time as a sinusoid
and as frequency "lines" at + and - the frequency of that sinusoid in the
frequency domain. So, a sinusoid in time and the two lines in frequency are
one of those "pairs" I'm talking about.
Think of two pictures side-by-side with a sinusoid in the left picture and a
pair of frequency "spikes" in the right picture. The pictures are the
"pair".
A single square pulse in time has a spectrum / Fourier Transform / that
looks like sin(f)/f - that's another important pair.
etc.
Later, you can learn how to use these pictures as "cartoons" in figuring out
what various DSP operations do in time and frequency.
Later, you can ask: why do these pairs look the way they do?
**************

If you get this much done then you'll know a great deal. Follow Armstrong's
advice to guide you along the way. You'll learn about other things like
limited precision and stability of IIR filters, etc.

Fred