10 comments

[ 2.8 ms ] story [ 35.2 ms ] thread
There's also "Scientist and Engineer's Guide to Digital Signal Processing" which free too and is pretty #swag as well http://www.dspguide.com
+1 This one is really good, showcasing code, graphics and formula for each lesson. So even if you don't understand totally the mathematical notation you can still read the code. I managed to learn DSP without an EE degree mainly with this book.
That's the one we used as a basis for undergraduate course on dsp a few years ago. (2nd world university) Good on getting an actual understanding if not a bit light on math.
Recognised that cover right away - I remember paying a huge amount for a copy of this as a student back in 1996! Incredible really how the web has made such a large amount of educational material available for free.
"Understanding Digital Signal Processing" by Richard Lyons should also be mentioned. Not free, but probably the best text for grasping the concepts of DSP. As a mechanical engineer his style and illustrations really clicked with me.
Ditto that excellent book. I had the opportunity to take one his courses, which was also good, not to mention his interesting stories about motorcycle "clubs".
Just wanted to throw more weight behind this comment. This book is excellent and is super easy to follow. It's one of those rare technical books that actually does an amazing job explaining things.
On the topic of free e-books related to signal processing, I really love this book by Vivek Goyal, Martin Vetterli, and Jelena Kovacevic: www.fourierandwavelets.org

I think their treatment of the subject is more 'modern'. Classical signal processing is the stuff that you will find in Orfanidis's book in the OP and other classics such as Lyons, Oppenheim/Shafer, etc. Modern signal processing involves more harmonic analysis. There has been a lot of work, since the late 80s in the areas of wavelets, dictionary learning, etc. which you won't find in 'classical texts' on signal processing. In some universities these topics are taught in 'advanced' signal processing courses, at honors or graduate level. I hesitate to call this kind as 'advanced' signal processing, because I feel you need the same kind of prerequisites for 'classical' and 'modern' signal processing: linear algebra, Fourier analysis, basic probability, 'random processes', etc. In fact, I think 'modern' signal processing taught at the undergrad level also has the added benefit of being a gentle application-oriented introduction to real analysis for EE students.