Advances in DSP over these past couple decades have been responsible for some of our most important technological leaps — MRI scanners, mobile phones, digital image sensors, etc. — but despite that, it doesn’t always get the attention or interest it deserves. Unfortunately, the reason for this bad reputation is woefully clear: most of the literature out there on DSP is extremely opaque, heavily focused on the theoretical not the pratical, and it all tends to be written by domain experts for domain experts, steeped in their own distinct domain language. There’s room and a need for all of that … but it does make it pretty rough for non DSP people to take advantage of some of the enormous benefits even the simplest DSP algorithms can offer.
Thankfully, people interested in improving the reliability and usefulness of their data have a friend in Dr. Stephen W. Smith, author of “The Scientist and Engineer’s Guide to Digital Signal Processing“. Dr. Smith not only provides an excellent overview of many of the key concepts and filters you’ll use solving problems in the real world day to day, but he does it in an extremely easy to understand and accessible way, with an emphasis on implementation not just abstract theory (though the theory is often explained with clarity and reasonable depth as well). A lot of the most common DSP ‘filters’ and algorithms are covered — FFT, FIR, IIR, moving averages, etc. — and they are all accompanied with intentionally ‘basic’ implementations in code in … well … Basic.
In an particularly enlightened stance, Dr. Smith also takes the unusual step of letting you decide entirely for yourself if this is the right book for you, since the entire book is available online free or charge, chapter by chapter in PDF format! You can get printed copies of Amazon, and if you find the book useful it’s worth support the author (I ordered my copy 20 minutes after digging into a single chapter), but if you’re on a tight budget, you’ll be bound to appreciate his generous and open gesture!
Any other good DSP resources for beginners out there that your found noteworth? Toss them up in the comments below so other people can benefit as well!