This is a fantastic book. As a Software Engineer with little background in DSP, this book has been invaluable in tackling DSP-related projects that have come up at my current job. Really pragmatic approach to the subject matter, which I've found can easily be lost in other texts.
Hmm not sure what you mean by relevant here. I'll take a crack at my interpretation: Is DSP still relevant - undoubtedly yes. Is the book still relevant? Because it focuses on the underlying theory and concepts and not so much on language specific implementations, I'd say yes to that as well.
Digital Signal Processing is a fundamental field in electronics and always will be as long as we have any form of electronic communication or signals. Most modern active electronics parts (even many power converters!) fall under either analog or digital signal processing so it's a core field of study. Technically, your CPU is just a power hungy multipurpose DSP but we don't refer to them as such to maintain precision in the jargon.
Proper DSP chips are highly specialized processors just like GPUs except they contain lots of silicon for low latency and low power math. Your wifi or cellular radios, for example, are highly specialized DSP chips that only deal with a few protocols.
Not sure whether you're asking whether DSP is still relevant (I think it is) or a textbook published in the 80s would be relevant. I imagine such a book might talk a lot about the hardware and software available at the time.
Not at all; it only covers a subset of AudioKit's features, such as low-latency access to audio and MIDI, global timekeeping and routing between clients. But its API is sufficiently terse to get started with smaller clients, and you can chain these pieces together with existing applications.
Or go for the big leagues with SuperCollider http://supercollider.github.io/ which is available on Linux and Windows as well. AudioKit is too limiting for those with actual DSP knowledge.
Lyons' book is liked by many people I work with who are learning DSP on the job. The current version has 180 pages of tricks, 51 sections; additionally it covers quadrature signals and Hilbert transforms. But, it is not free.
Lyons' book is more thorough and complete, each chapter builds on the foundation of the prior ones. He aimed for a hands-on approach, not theoretical. It is very suitable for someone who isn't intimidated by math (of which there is ample), but would prefer to see examples of it worked out (especially visually). His list of tips and tricks at the end come in handy for specific applications (some of which I didn't know I need until I later came across them).
Smith's book, on the other hand, is cursory and a bit more brief. It might leave you feeling that there is more depth there which you do not understand. Perhaps I feel this way because I read it online whereas I read Lyons' as a physical copy. Smith treats similar subjects but with less detail and fewer of the expert topics. On the other hand, it is a faster read and free. Both are good for beginners who want to understand DSP better!
I look at books fairly pragmatically, which is if they can communicate the subject material inside of them effectively, then they are certainly worth the cost of me going to a seminar on the topic (which might be in the $50 - $100 range) but if they can't communicate the subject its like I had no help at all and that is worth nothing.
Wavelet theory was an active area of research in mathematics when this book was first published, but I'm unable to find any mention of the use of wavelets in the book's table of contents.
In terms of an introductory DSP guide, wavelets aren't all that fundamental compared to eg filters, impulse/frequency responses, and the DFT, unless you're working specifically with something like image compression.
True, the Fourier transform can be viewed as a specialization of wavelet transforms, so in that sense wavelets are fundamental.
Like many mathematical subjects the specialization is treated before some historical generalization in educational contexts (if the generalization is ever discussed, as it doesn't seem to be here).
Practically speaking, while wavelet theory is fascinating, you can get plenty of DSP done without knowing it; but not having some understanding of the DFT is crippling.
Too bad DSP is dead. No one is going to study it, compressive sensing has underdelivered and now talented EE undergrads are going into Machine Learning.
I am sincerly confused buy this comment. Are you implying DSP & machine learning are not complementary? Don't you need and understanding of DSP in order to extract features that can be used to perform machine learning?
My passion/hobby project is to assembly music procedurally with NN. I really cant see a NN being able to extract much meaningfully without billions of perfectly annotated training sets (i dont think they exisit) The only success i've experienced is to first extract features from the amplitues via FFT. From there i can get information like pitches and feed those features into a NN. If i had a large enough training set i would certainly try feeding in raw amplitudes but i have my doubts.
Well i think about it alot but i havent accomplished much with that. But i really like what you are implying though. If you have all the notes played at a point in time that doesnt mean for know for sure which chord should be played. But a NN could be told the context around it and make a chord classification.
"DSP is dead" he says while publishing his comment from his computer with a 4 Tbyte hard drive over a WiFi connected to his ISP via 40 Gbps optical fiber network and then using his 5G smart phone to call up a friend to brag about how smart he is.
DSP is the ghost that haunted me in school. I took it in undergrad and just tanked. Being the stubborn person I am, I tried again in grad school and barely got by.
I couldn't figure out why I struggled so much. It always felt so abstract.
Probably because they shoved Z-transforms down your throat instead of focusing on the concepts. Filtering, correlation, convolution, are easier to understand in the discrete domain. It's a shame DSP is not taught prior to classical signals & systems courses. Instead it's taught as an extension to analog signal processing, at least in EE school.
Give this book a shot. It teaches through examples that are very simple and concrete, builds ideas up slowly, and only afterwords encodes them into theorems and equations.
I'm sure this book is fantastic but please, please ask someone (maybe some design students, they always need good, live briefs) to design you a better cover if you're writing an open access book like this. It might be the distant graphic designer in me but it helps to have something at least bit prettier to draw people in.
If someone needs a cover to draw them in then the chances are the book isn't for them. Books like this require effort from the reader in order to internalise the information contained within the book, even if the cover is prettier that's not going to be enough to provide motivation to get through the book.
You could extend that argument about aesthetic design to any application though, but I think that may be framing it in the wrong way. It's (usually) not much extra effort to, say, choose a nice font or use a pleasing colour scheme. I don't think good aesthetic design should be reserved for the masses or recreational media. Good aesthetic design isn't "beneath" anything; I don't see a reason to justify bad aesthetic design in educational or instructional resources.
I didn't say it was, however if I'm picking up a technical book I'm not fussed what the cover looks like, because I'm already motivated to learn the information contained in the book. It's best if that motivation to learn exists before someone picks up a technical book. If it doesn't the chances of getting through the book are slim to none, regardless of what the cover looks like.
I imagine what is considered an "enticing" cover for a book aimed at scientists and engineers has changed a bit between 1997 (when this was published) and now.
I for one, would like to see a DSP book that focuses less on algorithms but rather on practical problem solving, such as memory bus limitations, red/write coalescing schemes, register optimizations, caching, and other optimization techniques. It's one thing to know how to conduct an FFT transform, quite another when you've been handed the task to do in on, say, a live 4K video stream.
I printed, then read the first few chapters. After which, I decided to buy the book to finish reading. A fantastic book, I could not recommend it more.
Especially, for those that feel that they missed something in their undergraduate classes on this material. It really explains the concepts well.
This is one of the best technical books I've ever read. It is extremely to read. It focus on building intuition, and then introduces the mathematics that formally describes what you've just learned. Maybe it's just my learning style, but I love this book.
I do as well. Particularly that it approaches the topic from an applications standpoint, rather than starting by deriving the mathematics and treating applications as an afterthought.
I first read this book online over 10 years ago and it has helped me tremendously in understanding the time domain, frequency domain, and Fourier transforms. I can't recommend this free book enough!
Another interesting book I've been reading lately is Designing Sound by Andy Farnell. The initial section is a simplified (i.e. not heavily mathematical, focusing on intuitive understanding) discussion of sound generation and transmission. Practical exercises are done with Pure Data.
I can't recommend this book highly enough to engineers, students and tinkerers interested in DSP for audio or data analysis.
Just the first chapter on sampling made so many things click for me (I already had a background in sound synthesis with synthesizers, bpt no theory), and it made it all seem so beautiful (I still think signal processing is one of the most beautiful fields of math, probably because of how the Fourier Transform "happens" to be almost identical to its inverse and this lets you do so much with such a small and simple set of tools).
The book was clearly written by a good engineer, as it is full of wisdom, tricks and intuition of the kind you only learn on the field. It has good exercises and very simple code for everything.
The book takes the discrete-only approach - it doesn't even once show an integral, only sums on arrays of floating point numbers. This is a very good approach that I'm not aware of other texts taking.
I studied most of it while living with a friend who applied and taught DSP on his day job. Every evening we would sit in front of a whiteboard and compare my newly earned knowledge on a tool of discrete signals processing with the continuous version that he used and taught. Invariably, we ended with the conclusion that "my" version was much simpler and more intuitive while preserving all the needed power in practice. So I never even tried to grok the continuous Fourier Transform, and yet my intuition of linear systems has served me very well ever since.
Same here, and I did a lot of work in signal processing from designing digital synthesizers to field and post sound engineering. Probably my single favorite textbook, unusually well written.
65 comments
[ 3.0 ms ] story [ 28.7 ms ] threadProper DSP chips are highly specialized processors just like GPUs except they contain lots of silicon for low latency and low power math. Your wifi or cellular radios, for example, are highly specialized DSP chips that only deal with a few protocols.
http://gnuradio.org
https://www.juce.com/
Here is a example soft syth built on JUCE https://github.com/mtytel/helm
https://www.amazon.com/Understanding-Digital-Signal-Processi...
https://www.amazon.com/Essential-Guide-Digital-Signal-Proces...
https://en.wikipedia.org/wiki/Zipf's_law
(I use both DSP and ML heavily for my audio analysis projects.)
Yeah, it's dead, alright.
A good reference
I couldn't figure out why I struggled so much. It always felt so abstract.
I didn't say it was, however if I'm picking up a technical book I'm not fussed what the cover looks like, because I'm already motivated to learn the information contained in the book. It's best if that motivation to learn exists before someone picks up a technical book. If it doesn't the chances of getting through the book are slim to none, regardless of what the cover looks like.
https://www.youtube.com/watch?v=boPEO2auJj4
Especially, for those that feel that they missed something in their undergraduate classes on this material. It really explains the concepts well.
https://mitpress.mit.edu/designingsound/
Just the first chapter on sampling made so many things click for me (I already had a background in sound synthesis with synthesizers, bpt no theory), and it made it all seem so beautiful (I still think signal processing is one of the most beautiful fields of math, probably because of how the Fourier Transform "happens" to be almost identical to its inverse and this lets you do so much with such a small and simple set of tools).
The book was clearly written by a good engineer, as it is full of wisdom, tricks and intuition of the kind you only learn on the field. It has good exercises and very simple code for everything.
The book takes the discrete-only approach - it doesn't even once show an integral, only sums on arrays of floating point numbers. This is a very good approach that I'm not aware of other texts taking.
I studied most of it while living with a friend who applied and taught DSP on his day job. Every evening we would sit in front of a whiteboard and compare my newly earned knowledge on a tool of discrete signals processing with the continuous version that he used and taught. Invariably, we ended with the conclusion that "my" version was much simpler and more intuitive while preserving all the needed power in practice. So I never even tried to grok the continuous Fourier Transform, and yet my intuition of linear systems has served me very well ever since.