The Scientist & Engineer's Guide to Digital Signal Processing is a pretty decent book as a crash course. It covers the high level concepts in the first half and the hard core math at the very end.
In the middle there’s a chunk of stuff that’s very practical if you don’t have the time to learn all the math behind it. This is the stuff that I found most useful. It covered the various filters, why you would use one over the other, and basic implementations.
If you really want to learn DSP, a course might be useful but it all depends on what you want from it.
Since you mentioned in another comment that your goal was to design audio plugins, perhaps consider this book by Will Pirkle. Seems to be a popular choice.
Specific to electromagnetic waves, a simple sine wave carrier is actually a spiral in 3-space. So it's complex. Looking at a 2d projection/slice is sort of ... wrong. The physical reality of radio waves is that they're inherently complex.
You can look at the cover or Rick Lyons' "Understanding Digital Signal Processing" for a picture of this.
https://www.amazon.com/Understanding-Digital-Signal-Processing-3rd/dp/0137027419
You didn't mention if you're doing Continuous or Discrete, but I used Discrete-Time Signal Processing in grad school and it's considered a pretty good book.
Alan Oppenheim's lectures at MIT are also a great source of information.
Oppenheim and Schafer is a standard text. I have a very old copy and I have always thought of this stuff as an engineering version of abstract algebra.
[Understanding DSP (third edition)](https://smile.amazon.co.uk/Understanding-Digital-Signal-Processing-United/dp/0137027419) by Rick Lyons is very good and very accessible.
​
i always found that working thru examples with Schaums, helps to clarify the points i was not understanding.
Man I forgot about this website. Helped to bounce Oppenheim off this website to just condense it down into something practical
https://www.amazon.com/dp/0137027419
This was also a very practical book. You can probably find the international edition on eBay for cheaper
Amplitude of displacement is the thing a microphone measures**: sound waves create a time variable pressure front which displaces the diaphragm in the microphone. The pitch (frequency) and timbre (simultaneously occurring frequencies) of the signal can be recovered using the Fourier Transform. If you are unfamiliar this technique this is a reasonable introduction, though for a thorough treatment of the subject look to Oppenheim and Willsky.
Translation: it’s a totally reasonable tattoo that does capture the information (albeit at low resolution) of the sound.
** I’m not a expert on the operation of every type of microphone in existence. I am leaving space for the possibility that a microphone exists which does something completely different but I am totally unaware of it and it’s mechanism of operation.
Will Pirkle has a brilliant book on audio dsp and plugin development. I highly recommend it
Designing Audio Effect Plugins in C++: For AAX, AU, and VST3 with DSP Theory https://www.amazon.com/dp/1138591939/ref=cm_sw_r_cp_api_glt_fabc_ETZMGBKCR24A215XHT4K?_encoding=UTF8&psc=1
I both like and loathe this suggestion. The theory behind the DFT is simple yet the road to understanding what it is is tortuous. The pedagogical approach of showing you first the CTFT, then convolution, CTFT Properties, then DTFT, then Linear Systems and their properties is confusing as hell, especially if you're reading it from a book where they're derived mathematically. Authors get lazy and list a series of equations without providing a high-level description of what's going on (I'm looking at you, PROAKIS).
I think this book does a decent job of explaining DSP as a mix of different fields.
You can make a neat reverb by using basic DSP blocks like all-pass filters and delay lines. However, if you are just beginning with DSP, I would recommend to first understand the basic theory. Some useful things to know are:
- Being able to think of a signal in terms of time and frequency (Fourier) domain, is essential because a modification in one domain will cause a modification in the other as well. This can be accomplished by learning the time and frequency representation of basic signals (sinusoids, delta function, rectangular pulse, sign function). Most other signals can be thought as in-between cases of such signals.
- Understand the function of the High-pass, Low-pass, Band-pass etc filters. A project (eg creating an equalizer) could help with getting a more hands-on experience on them.
As far as reverb goes, I am a fan of the effect. There is a lot of information online (papers, dsprelated.com) . This book has a great educational introduction to reverb algorithms and is more of a practical than a theoretical book.
Hope this helps.
That links to an Amazon listing here which says it was published in 1997. Has there really been so little advancement in DSP's over the past nearly 23 years that the information in the book isn't out dated? I understand embedded is a very slow moving field, but oof.
https://www.amazon.com/Electronics-Guitarists-Denton-J-Dailey/dp/1461440866/
i have it, but i'm too dumb to really understand and make use of it :(
Edit: you might wanna check out http://www.electrosmash.com/ as well
Oppenheim gives a really great explanation for the motivation and derivation behind the Laplace and Fourier Transforms in is book Signals and Systems.
I know he also has some lectures on MIT Open Courseware, but I haven't seen them. I've heard good things.
I was really happy to have read that book before my Diff Eq class. Because that text just threw the Laplace Transform at us like it was handed down from the gods.
I came in here to recommend the JE Gordon books. They are amazing.
FFTs are a math concept so you can hardly not have any math, but this book is heavy on conceptual understanding and I think it doesn't have any calculus.
Edit: PriceZombie reminded me to mention that you can read it online for free.
gnuradio would give you the ability to use things like gqrx of course, though with gnuradio you will have to identify a frequency and signal, decipher which modulation/encoding it is, and know how to properly interpret. It's seriously hard. I think you need to narrow down what you want to do, and do it on a per-protocol basis. E.g. I want to listen to NBFM repeaters, bluetooth, wifi, etc., then use specific tools.
This may not be exactly what you're looking for but Electronics for Guitarists is a pretty good resource for understanding some of the ideas/theory/design behind everything from guitars to pedals to amps. Again not exactly what you're looking for but I recommend it to everyone with interest in this stuff.
My wall of text posts about asking for help will show that I'm still not an expert but the first book that really got me going was Electronics for Guitarists ( http://www.amazon.ca/Electronics-Guitarists-Denton-J-Dailey/dp/1461440866 )
It's not free unfortunately but it's the first book that I found delved at a good level into electronics but always from the perspective of a guitarist instead of an EE student. I do believe that learning something, especially something as complex as electronics, is much easier when in the right context, which for us, is guitar effects and amplification.
You won't find cookie-cutter recipies but you will find a lot of very simple circuits and their analysis and explanation. Also, the math is not required and you can skip it, but it's in there if you want it which I think is a good thing.
I think you can read a bit of chapter one about power supplies on Amazon. Take a look!
Disagree. Signal processing is not exactly central to "computer engineering" curricula in most accredited universities.
The book you reference, although a fundamental and essential book in the field, is also one laden thick with theory, and would only serve to discourage a high-school senior. If OP was asking about DSP however, I would recommend another book instead: Signal Processing First
Signal Processing First by McClellan is what we used. DSP never really peaked my interest so I can't say how good or bad of a book it is.
http://www.amazon.com/Signal-Processing-First-James-McClellan/dp/0130909998
I like Richard Lyons's Understanding Digital Signal Processing for signal processing, not sure about pure signals & systems.
I've heard good things about Zoher Karu's "Signals and Systems Made Ridiculously Simple" but haven't had a chance to get a copy myself. http://www.amazon.com/Signals-Systems-Made-Ridiculously-Simple/dp/0964375214
Oppenheim and Schafer is too advanced for an intro. I would recommend Signal Processing First by McClellan, Schafer, and Yoder. It is the book I learned with in college.
http://www.amazon.com/Signal-Processing-First-James-McClellan/dp/0130909998
I used the book you're currently using in my grad level deterministic signals class. I used this book by Proakis in some of my undergrad DSP classes. It's a little bit more straightforward than the Oppenheim book, which really is the DSP bible like someone else said.
If you really want basic, I used this book by McClellan in one of my sophomore-level DSP classes.
If you want something introductory and accessible on both the discrete and continuous Fourier transform (and Laplace and z), I can recommend Oppenheim & Willsky.
I always found the text very understandable and the notation more tight and self-consistent than in most textbooks -- I don't really understand the negative reviews on Amazon. I wouldn't be surprised if they were actually from competing publishers.
Full disclosure though: I got through this text with the aid of a really great prof, so I used it mostly to reinforce concepts I more or less already understood from lecture. But also it is one of the (very) few textbooks I actually remember in a positive light.