Thursday, December 6, 2012

Learning DSP: where to start from?


-->
This post is about possible beginnings of your journey into the digital signal processing world.
If we go to the amazon web site and make advanced search in books department using keywords "digital signal processing" in title section we will get about 1700 books with these words in the title. Not as many books as "C++" search will return (about 5500 books) but still the search result can leave you in doubt where to start from.
Surely I don't pretend that I read all of these DSP books, but I have looked through at least several dozens of most popular ones, so I want to share my experience.
These books vary in complexity level and in amount of prerequisite knowledge required from readers. Most of these books were intended to be used by electrical engineering students and engineers and therefore the knowledge of at least something about complex variables and their functions, differential equations, calculus and linear systems theory is supposed.
Today I would like to tell about two DSP books which stand out from the «classical electrical engineering textbooks» crowd, because content of these books is accessible even to reader with only school education.
The first book I would like to tell about is «The Scientist & Engineer's Guide to Digital Signal Processing» by Steven W. Smith. This book can be described as «Introduction to DSP (almost) without use of mathematics».
It's author did amazing work: he managed to tell about most important DSP concepts, such as convolution, linear digital filtering, ADC/DAC, FFT, as well as several real life DSP applications, without use of complex numbers, not to mention differential equations or advanced calculus. Indeed, author introduced complex numbers no earlier than in chapter 30, and Laplace Transform, Complex Fourier Transform and Z Transform even later.
The second book is «Digital Signal Processing: A Computer Science Perspective » by Stein J.Y. Reading of this book requires about the same level of prerequisite knowledge as reading of the first book («The Scientist & Engineer's Guide to Digital Signal Processing»), although you will see more formulas and integrals on the pages of the second one.
The target audience of the second book is computer science students and graduates which for some reason have to get some knowledge of basic DSP concepts but don’t wish to go through jungle of formulas with snake-looking integrals. However I think that this book’s content can be used by any person with school education (and maybe some basic knowledge of calculus) to get acquainted with DSP.
Well, but what if you got education in electrical engineering or you are electrical engineering student, should you spend your time on these «books for dummies» or not? I think that you probaly should at least look through these books. The point is that authors of both books didn’t just rip off formulas from classical textbooks and serve what is left to readers. Instead they tried to explain complicated matters in plain English and used simple examples to provide so much praised «insight» to their readers. And I think that they succeeded on this task. In my opinion, yes, these books are definitely worth trying, at least to make sure that you really understand basic DSP concepts as good as authors do and that you have «insight» too.
Even more, I would like to say that these books were written in Richard Feynman spirit. I mean that in these books quite sophisticated things are explained with simple language on simple examples. And I treat this type of textbooks as most valuable among all kinds of textbooks.