# Recommend a DSP learning resource

Discussion in 'General Electronics Chat' started by poopscoop, Feb 20, 2014.

1. ### poopscoop Thread Starter Member

Dec 12, 2012
139
16
Long story short, I'd like to pre-learn some signal processing theory before I take the class. I hear it's one of the more difficult classes an EE will take, and I care way too much about my GPA.

Can someone recommend a good learning resource? Preferably more theory and concept oriented than math oriented.

Many thanks.

2. ### tshuck Well-Known Member

Oct 18, 2012
3,531
675
I would recommend http://www.dspguide.com as a pretty good source.

Best of all, it's free.

However, you should be aware that you cannot do DSP without math, so brush up now.

3. ### Papabravo Expert

Feb 24, 2006
10,338
1,850
I second that recommendation. To do the math I recommend Scilab as a free Matlab alternative.

http://www.scilab.org/

4. ### tshuck Well-Known Member

Oct 18, 2012
3,531
675
I prefer Octave/MATLAB, but that may only be because I haven't used SciLab...but Octave is both free and open-source (not to mention built to be compatible with MATLAB code).

Edit: With SciLab incorporating xcos, I will be taking a look at it. My main gripe with Octave has been a lack of a Simulink replacement.

Last edited: Feb 20, 2014

Apr 5, 2008
15,796
2,382
6. ### MrChips Moderator

Oct 2, 2009
12,622
3,451
I had a quick look at The Scientist and Engineer's Guide to Digital Signal Processing by Stephen W. Smith which was recommended in previous posts.

While I found this easy to read it lacks a bit of academic rigor.
I would say it is somewhere in between a layman's introduction to DSP and a textbook for college education.

One objection I have is in Chapter 4: DSP Software - Execution Speed: Programming Tips.
While I agree with the advice to use integers instead of floating point, it is not correct to claim that integer division is often accomplished by converting the values into floating point. This is categorically incorrect.

The algorithm for integer division is very similar to that for integer multiplication. The two operations take about the same execution times.

7. ### Papabravo Expert

Feb 24, 2006
10,338
1,850
Your analysis of smith's book is accurate, but remember the OP wanted to "pre-learn", whatever that means before taking the class. I think a book which lacks academic rigor, a plus in my estimation, is actually what is called for here.

8. ### MrChips Moderator

Oct 2, 2009
12,622
3,451
I agree with you. However, I would have to read through the entire text to see where he has made any blatant errors such as the one pointed out above. It appears that the writer has intermediate knowledge of the subject and wanted to convey that knowledge in the form of a book. That's ok for something like "DSP for dummies" but not for a textbook. I suppose in his defense the book did use the word "Guide" in the title.

Having said that, I hope am not being overly critical of the book or writing style. It appears to be a good introduction to DSP.

9. ### Papabravo Expert

Feb 24, 2006
10,338
1,850
Well I've forgotten more mathematics than most people have an opportunity to learn and "academic rigor" has always left me with a cold empty feeling inside. Must be a personal problem - HA!

10. ### MrChips Moderator

Oct 2, 2009
12,622
3,451
Another important point to note about Stephen Smith's book is that it focuses more on the technology than on the mathematics. It was written in 1998 and therefore is 16 years out of date, if not more. The technology in DSP and microcontrollers in general has advanced tremendously in 16 years. Hence a lot more can be accomplished at much lower costs. Microcontroller clock speeds and on-board memory has increased. 24-bit ADCs are now common place along with 32-bit processors. The use of FPGAs have also greatly advanced the capabilities of modern DSP systems.