i loved to see the visualization of the z-plane along with how moving the poles changed the cutoff frequency of the resonant filter in the musically more conventional spectrum view
Wow wow wow. Now, I am incredibly new to dsp, a parametric filter is the first thing I want to design. I am not confident that I can do it, but with this video, there is now definitely a chance! What a fantastic explanation. Time to code it in Max msp!
i've always wanted to use manim in explanatory videos about communications engineering stuff in general, and i see that you've made a marvelous tutorials with it, very impressive, keep it up.
Thanks for the kind words! I'm not actually using manim 🙂 Tried it, but it didn't really fit with my experience, which is all from matplotlib (and MATLAB before then). I generate the individual animation frames in matplotlib and then combine those into the individual animations. Then I use macOS Keynote to combine everything (narration, transitions).
I have no math or (educational) audio background, I was just curious how filters work cause I do make music. You explained it in such a way that even I could get it, explained it better than others and even better than chatgpt could 👏
Mr. Kim, I'd like to make a general comment about implementing IIR filters. Consider an IIR filter with only poles and zeroes and with all the poles either inside or outside the unit circle of the z-plane. On the unit circle or extremely close to the unit circle would not work in what I am about to suggest. Most people are used to the idea that an IIR filter is unstable if it has any pole outside the unit circle. But this is true only for causal IIR filters. In the case of filters with some poles inside the unit circle and some poles outside the unit circle, we can express the filter as a series connection of two filters, one causal and one anti-causal. And these are both stable filters, but the anti-causal filter must be run in the backwards time dimension. It is commonly supposed that such filters are impossible to realize because the filter in the anti-causal dimension cannot begin to operate until the impulse response of the causal part has died out at infinite time. However, it real life, the impulse response of the anti-causal part of the filter decays exponentially fast and therefore, to any degree of approximation error one can tolerate, the anti-causal impulse response will become effectively zero in a relatively short time, like a few hundred samples. This means it is quite practical to implement filters with poles both inside the unit circle and outside the unit circle. The initial input is segmented into blocks of consecutive samples, a few hundred samples per block. Each block is presented as an input to past the nominal end of the input block, which means that the outputs of the successive blocks overlap one another. Then each block of output of the causal IIR the filter is input to the anti-causal IIR filter, with the iteration run in the negative time direction. We can do that in real life because we can time reverse the samples of the causal filter output is we have a suitable FINITE delay. The output block of the anti-causal filter is again longer than the input, which means that there are outputs earlier than the inputs, but again we can time reverse the time reversed blocks recreating a normal order. Then each block of samples which has been filtered by both the causal and the anti-causal filter can be lined up with one another using a FINITE delay such that all the samples overlapping one another in actual time are simply added together. This all fits together very simply as long as one has access to a modest sized memory that can do the time-reversals of the blocks. This opens up a number of actual practical applications. Normally, IIR filters cannot have a linear phase characteristic, but by pairing the singularities inside and outside the unit circle in reciprocal pairs we get a symmetrical overall impulse response, which means linear phase. Because the decaying impulse responses have been cut off after their exponential decay to nearly zero, these are really FIR filters, but unlike FIR filters conventionally designed, they require far fewer multiplications for the same performance. They can be designed with analytic mappings, like elliptic low-pass or band-pass filters. Another effective design of such filters is the mathematical equivalent of an elliptic 90 degree phase splitter design, which in this case gives us an IIR filter whose output is the Hilbert transform of the input. Instead of applying two stable filters to the same input in parallel, as in the phase splitter design, we realize one of the filters on the input and put the output of the first filter into the second filter, but the second filter is a stable filter run in the backward time direction, so that the filter coefficients are the exact same numerical coefficients used in the stable design of an elliptic phase splitter. There are numerous other analytic designs of "unstable" filters which are stabilized by this technique.
Great point, and thank you for the detailed description. Yes, there are absolutely anti-causal (but causally unstable) filter implementations used in real applications, either with a short buffer or in non-realtime processing. The "filtfilt" function (in MATLAB or scipy.signal) provides a straightforward implementation if anyone wants to play around with it!
IT'S VERY GREAT VIDEO, EXPLAINTAION. IT CLEARS THE CONCEPTS VERY WELL, I'VE A REQUEST FOR MORE TOPICS, SUCH AS FrFT, STFrFT, AND WVD. THANKS FOR MAKING THIS. IT HELPS A LOT TO UNDERSTAND.
Thanks, yes it's a terrible typo. I put a note in the video description about the error. When I have more time, I'll try to fix it and re-upload the video.
I've watched a few of Youngmoo's videos on Applied DSP, and I am super impressed with the presentation! Can't wait to see more. But I'll admit, on this video (No. 9) I am a little stumped on why the IIR filter at the end is called biquadratic?
The individual sections (two-zeros and two-poles) are composed of 2 quadratic functions (numerator and denominator), hence "biquadratic". We can then combine these biquad sections to create more complex IIR filters, like the combined one shown around 17:25. Hope that makes sense!
I noticed it too and came to the comments. This is a brilliant video by the way, something my professors could never teach as clearly. I am absolutely amazed 👏
How frequencies beyond w=pi are represented on the unit circle ? Why is the Z-transform used in control theory and why is it said to be the discrete equivalent of the Laplace transform (by the way, does this sentence really make sense) ? The playlist is good but not very beginner friendly, it's still very useful for people who are well initiated in signal processing. I think this is the best video on the Z-Transform. From now on, this subject is less abstract for me, I can visualize it in my head and measure the power of the Z-transform and digital filters. Thank you very much. Greetings from Tunisia.
This is fantastic! But just to clarify, 4:48 might have a minor error: as we are defining z = re^{jw}, the DTFT expression would need r^{-n} e^{-jwn}, but the slide currently only has r e^{-jwn}. Perhaps that part can be referred to in this other video ua-cam.com/video/XJRW6jamUHk/v-deo.htmlsi=1qnpl0gNGSLnovh7&t=747
Thanks for making these! Any update on video 5 and the others, etc.? Are they still in the pipeline, realistically, or are they likely not to happen? Also, I notice that in the description you say video 7 will be "No. 7: The Importance of Being Linear and Time-Invariant" but currently there is already a video 7 titled "The Convolution Theorem". What's the plan there? Please keep going! Really looking forward to the next video.
Turns out the song Rockin' Robin is public domain in the US, but not worldwide. Hence the copyright claim 😡 Sorry, I'm trying to avoid such issues in future videos!
Hey, when do you gonna release the next one? And also, why don't you release your course on Udemy or something like that? I would pay greatfully for that
Hey don’t give him any ideas these classes are getting me through signals and systems and understanding it. By all means he should pay for it but man I love that he doesn’t
Thanks for remembering conjugate pole pairs. Keeping it real.
The best illustrations ever for Poles and Zeros
Excellent explanation of Z-transform filter design with the effective use of graphics!
The whole series is incredibly well thought through and helped me jumpstart my memory about my undergraduate course on DSP! Great thanks Mr. Kim!
Amazing video. The quality of your production, narration, and explanation is fantastic. I'm so happy I found this
非常的有幫助~以前從不知道z-domain視覺化會長成這樣。Thanks for the great content and the making digital signal processing more intuitive.
the selected song fed my soul...😂 Thank you, Sir.
The Twilight Zone Opening was a genius move
Watched the whole series, thanks for making these! Great quality work !
i loved to see the visualization of the z-plane along with how moving the poles changed the cutoff frequency of the resonant filter in the musically more conventional spectrum view
Incredible work as always.
Wow wow wow.
Now, I am incredibly new to dsp, a parametric filter is the first thing I want to design.
I am not confident that I can do it, but with this video, there is now definitely a chance!
What a fantastic explanation.
Time to code it in Max msp!
i've always wanted to use manim in explanatory videos about communications engineering stuff in general, and i see that you've made a marvelous tutorials with it, very impressive, keep it up.
Thanks for the kind words! I'm not actually using manim 🙂 Tried it, but it didn't really fit with my experience, which is all from matplotlib (and MATLAB before then). I generate the individual animation frames in matplotlib and then combine those into the individual animations. Then I use macOS Keynote to combine everything (narration, transitions).
Excellent!! I've been waiting for that one!
I have no math or (educational) audio background, I was just curious how filters work cause I do make music.
You explained it in such a way that even I could get it, explained it better than others and even better than chatgpt could 👏
Great content. Insanely well made video tutorials. Very clearly expalined. Thank you so much!
Great series and cannot wait for more.
That was a good revision for me a 64 yo DSP engineer
I just finished the series through video #9. Your explanations and graphics are clear and concise. I’ve learned a lot. Thanks!
Mr. Kim, I'd like to make a general comment about implementing IIR filters. Consider an IIR filter with only poles and zeroes and with all the poles either inside or outside the unit circle of the z-plane. On the unit circle or extremely close to the unit circle would not work in what I am about to suggest.
Most people are used to the idea that an IIR filter is unstable if it has any pole outside the unit circle. But this is true only for causal IIR filters. In the case of filters with some poles inside the unit circle and some poles outside the unit circle, we can express the filter as a series connection of two filters, one causal and one anti-causal. And these are both stable filters, but the anti-causal filter must be run in the backwards time dimension.
It is commonly supposed that such filters are impossible to realize because the filter in the anti-causal dimension cannot begin to operate until the impulse response of the causal part has died out at infinite time. However, it real life, the impulse response of the anti-causal part of the filter decays exponentially fast and therefore, to any degree of approximation error one can tolerate, the anti-causal impulse response will become effectively zero in a relatively short time, like a few hundred samples.
This means it is quite practical to implement filters with poles both inside the unit circle and outside the unit circle. The initial input is segmented into blocks of consecutive samples, a few hundred samples per block. Each block is presented as an input to past the nominal end of the input block, which means that the outputs of the successive blocks overlap one another.
Then each block of output of the causal IIR the filter is input to the anti-causal IIR filter, with the iteration run in the negative time direction. We can do that in real life because we can time reverse the samples of the causal filter output is we have a suitable FINITE delay. The output block of the anti-causal filter is again longer than the input, which means that there are outputs earlier than the inputs, but again we can time reverse the time reversed blocks recreating a normal order. Then each block of samples which has been filtered by both the causal and the anti-causal filter can be lined up with one another using a FINITE delay such that all the samples overlapping one another in actual time are simply added together.
This all fits together very simply as long as one has access to a modest sized memory that can do the time-reversals of the blocks.
This opens up a number of actual practical applications. Normally, IIR filters cannot have a linear phase characteristic, but by pairing the singularities inside and outside the unit circle in reciprocal pairs we get a symmetrical overall impulse response, which means linear phase. Because the decaying impulse responses have been cut off after their exponential decay to nearly zero, these are really FIR filters, but unlike FIR filters conventionally designed, they require far fewer multiplications for the same performance. They can be designed with analytic mappings, like elliptic low-pass or band-pass filters. Another effective design of such filters is the mathematical equivalent of an elliptic 90 degree phase splitter design, which in this case gives us an IIR filter whose output is the Hilbert transform of the input. Instead of applying two stable filters to the same input in parallel, as in the phase splitter design, we realize one of the filters on the input and put the output of the first filter into the second filter, but the second filter is a stable filter run in the backward time direction, so that the filter coefficients are the exact same numerical coefficients used in the stable design of an elliptic phase splitter.
There are numerous other analytic designs of "unstable" filters which are stabilized by this technique.
Great point, and thank you for the detailed description. Yes, there are absolutely anti-causal (but causally unstable) filter implementations used in real applications, either with a short buffer or in non-realtime processing. The "filtfilt" function (in MATLAB or scipy.signal) provides a straightforward implementation if anyone wants to play around with it!
IT'S VERY GREAT VIDEO, EXPLAINTAION. IT CLEARS THE CONCEPTS VERY WELL, I'VE A REQUEST FOR MORE TOPICS, SUCH AS FrFT, STFrFT, AND WVD. THANKS FOR MAKING THIS. IT HELPS A LOT TO UNDERSTAND.
Beautiful video
Amazing video!
Typo: when you explained the shifting property you multiplied by x^(-2)…x^(-k) instead of z^(-2) etc.
Thanks, yes it's a terrible typo. I put a note in the video description about the error. When I have more time, I'll try to fix it and re-upload the video.
Amazing! Thanks!
That was a very cool intro
this is genius,
Excellent video! Btw, there are some typos in 9:09.
We need moreeeeee
I've watched a few of Youngmoo's videos on Applied DSP, and I am super impressed with the presentation!
Can't wait to see more.
But I'll admit, on this video (No. 9) I am a little stumped on why the IIR filter at the end is called biquadratic?
The individual sections (two-zeros and two-poles) are composed of 2 quadratic functions (numerator and denominator), hence "biquadratic". We can then combine these biquad sections to create more complex IIR filters, like the combined one shown around 17:25. Hope that makes sense!
Great video!! 9:18 is it supposed to be z^-2 instead of x^-2 ?
Whoops! Thanks for the catch! Yes, those should definitely be factors of z, not x. I'll add a note in the description.
@@youngmoo-kim awesome video!!
I noticed it too and came to the comments. This is a brilliant video by the way, something my professors could never teach as clearly. I am absolutely amazed 👏
thanks for the question. helped me too directly hahahahah
How frequencies beyond w=pi are represented on the unit circle ? Why is the Z-transform used in control theory and why is it said to be the discrete equivalent of the Laplace transform (by the way, does this sentence really make sense) ? The playlist is good but not very beginner friendly, it's still very useful for people who are well initiated in signal processing. I think this is the best video on the Z-Transform. From now on, this subject is less abstract for me, I can visualize it in my head and measure the power of the Z-transform and digital filters. Thank you very much. Greetings from Tunisia.
This is fantastic! But just to clarify, 4:48 might have a minor error: as we are defining z = re^{jw}, the DTFT expression would need r^{-n} e^{-jwn}, but the slide currently only has r e^{-jwn}.
Perhaps that part can be referred to in this other video ua-cam.com/video/XJRW6jamUHk/v-deo.htmlsi=1qnpl0gNGSLnovh7&t=747
brilliant·
Thanks for making these! Any update on video 5 and the others, etc.? Are they still in the pipeline, realistically, or are they likely not to happen? Also, I notice that in the description you say video 7 will be "No. 7: The Importance of Being Linear and Time-Invariant" but currently there is already a video 7 titled "The Convolution Theorem". What's the plan there? Please keep going! Really looking forward to the next video.
How did you get such a nice voice-over. It's great.
I'd assume he's great at audio editing :D
Thanks! Just using a halfway decent USB mic and some equalization. Glad you like it 🙂
Yea I too Noticed Download is Greyed Out..
But didnt See Any Copyright Claims In Description
Turns out the song Rockin' Robin is public domain in the US, but not worldwide. Hence the copyright claim 😡 Sorry, I'm trying to avoid such issues in future videos!
hope someday will be subtitle
Hey, when do you gonna release the next one? And also, why don't you release your course on Udemy or something like that? I would pay greatfully for that
Hey don’t give him any ideas these classes are getting me through signals and systems and understanding it. By all means he should pay for it but man I love that he doesn’t
Homie is very smart but has poor musical tastes.... that song selection.... good lord.