4 ms·
Introduction to Digital Filters (2024)
- stapedium 1y agoI was hoping to see something on Kalman filters. But it was good to see info on state space analysis. Also good to see a simple example on why dynamic range compression is nonlinear. Would have been nice to see more info on what makes a system non-time invariant with examples.
- iainctduncan 1y agoCheck the rest of his writing, I'd be surprised if it's not covered somewhere!
- vmilner 1y agoHe has a joint paper using one here: https://www.dafx17.eca.ed.ac.uk/papers/DAFx17_paper_21.pdf https://www.dafx17.eca.ed.ac.uk/papers/DAFx17_paper_21.pdf
- khiner 1y agoSelf plug: I made Jupyter notebooks for each chapter of this and the DFT and Physical Modeling books in this series, with Python animations/audio for some key concepts: https://karlhiner.com/jupyter_notebooks/mathematics_of_the_dft https://karlhiner.com/jupyter_notebooks/mathematics_of_the_d... https://karlhiner.com/jupyter_notebooks/intro_to_digital_filters https://karlhiner.com/jupyter_notebooks/intro_to_digital_fil... https://karlhiner.com/jupyter_notebooks/physical_audio_signal_processing https://karlhiner.com/jupyter_notebooks/physical_audio_signa...
- florilegiumson 1y agoThank you: these are excellent.
- em3rgent0rdr 1y agoMy god, animating convolution makes it so much easier to understand than having a professor draw the process on a chalkboard back in the day.
- djmips 1y agoThere's also a nice 3blue1brown video on the subject
- iainctduncan 1y agoThe Julius Smith books are some of the most respected resources in the audio world. Here is a page linking to way more. https://ccrma.stanford.edu/~jos/ https://ccrma.stanford.edu/~jos/
- anyfoo 1y agoAnd not just for audio. In fact, I don't care about audio that much, and they're still some of my most treasured technical books (I have them in print form, and still reference them online pretty regularly). Those changed my life, in a sense. Not my professional life, but outside of work it led me down a deep rabbit hole into mathematics, digital signal processing, and even analogue electronics and some light RF engineering. (This is not relevant to my professional life, since I started to take great care not to make any more of my hobbies my job.) I spent endless hours thinking about this stuff on my commute, and hunched over Matlab. The other book I recommend is Richard G. Lyons "Understanding Digital Signal Processing".
- ktanvr1 1y agoShout out to kewltools that have a free online digital creator - the nice thing is it generates and outputs source code of the digital filter in multiple languages! https://kewltools.com/digital-filter https://kewltools.com/digital-filter
- Llamamoe 1y agoI wish there was something like this but for working with arrays of values. I want something that works on frequencies like 1,2,3,4,6,8, not "0.25 to 0.375". I don't even know what that would mean in the context of an array of discrete values.
- CamperBob2 1y agoYour question is an excellent example of why skipping all that math wasn't a good idea. (The answer literally goes all the way back to the Heisenberg uncertainty principle.) You don't need to be able to regurgitate it all on a test, but you must be comfortable with the general ideas behind the DFT and what motivates them.
- Llamamoe 1y agoThe answer is also completely unnecessary to actually using said filters. There are countless data structures and algorithms built on decades of research, and yet no programmer writes tutorials where they demand you understand the entire history of computation before you're worthy of learning them the way mathematicians do with even the most basic of concepts.
- CamperBob2 1y agoLargely true, although eventually you'd wonder why it sounded so awful when you tried to create infinitely-narrow filter passbands. In this case, if you'd known there was such a thing as time-frequency uncertainty, you'd never have needed to ask the question in the first place.
- Llamamoe 1y agoI wish there was a practical, no-math code-centric resource somewhere. I just want to see practical examples of how to process my array of floats to extract or attenuate different frequencies(in discrete integer increments), not read walls of math equations and how to derive the discrete form of continuous algorithms over a hundred pages of dense text.
- Blackthorn 1y agoThere are tons and tons of libraries for just running filters. scipy.signal has basic filter construction methods. This resource is for learning the why and the how, which makes the math rather important.
- Archit3ch 1y agoAs an aside, for anyone interested in _analog_ filters, professor Lanterman has you covered: https://www.youtube.com/watch?v=Pwe3DwoBP8g https://www.youtube.com/watch?v=Pwe3DwoBP8g
- o11c 1y agoTitle misses important context: "for sound"
- Blackthorn 1y agoWithout loss of generality.
- monster_truck 1y agoDo you think that's air you're breathing
- galangalalgol 1y agoA lot of it applies to software defined radio processing as well, other than tending to work in real vs complex, but you can always do either.
- sfpotter 1y agoVast majority of this book covers DSP in very broad generality, much akin to what you would see in an undergrad EE course on the topic. Compare with Oppenheim and Schafer. Different focus but much of the same content.
- munificent 1y agoFor any one-dimensional signal, honestly. Audio is just the most common use case.