Applied DSP No. 9: The z-Domain and Parametric Filter Design

  Рет қаралды 19,924

Youngmoo Kim

Youngmoo Kim

2 жыл бұрын

Applied Digital Signal Processing at Drexel University: In this video, I introduce the z-Domain and the z-Transform, which provide key insights for DSP and an intuitive approach to filter design.
== Errata ==
2021-11-03: The slide describing the Shift Theorem (around 9:18) has 2 terrible typos... The equations in the z-Domain should have factors of z^-2 and z^-k (not x^-2 and x^-k, as they are in the video). Sorry about that, and my thanks to Tchsurvives for pointing out the error!
==
I'm teaching the course again this Fall (September 2022), so I really will be posting more in this series in the coming weeks. Now would be a great time to subscribe to my channel, @Youngmoo Kim , for updates. Please leave feedback in the comments and let me know if there are DSP topics you'd like to see in future videos!
==
Background music by the PolyPhase generative sequencer iPad app.
Turns out that while “Rockin’ Robin” is public domain in the US, but not other countries, so there’s still a copyright claim on this video 😡

Пікірлер: 45
@polyhistorphilomath
@polyhistorphilomath 2 жыл бұрын
Thanks for remembering conjugate pole pairs. Keeping it real.
@mutalasuragemohammed6954
@mutalasuragemohammed6954 9 ай бұрын
The best illustrations ever for Poles and Zeros
@erickappel4120
@erickappel4120 9 ай бұрын
Excellent explanation of Z-transform filter design with the effective use of graphics!
@Joshua_Griffin
@Joshua_Griffin 10 күн бұрын
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!
@dl1962
@dl1962 2 жыл бұрын
非常的有幫助~以前從不知道z-domain視覺化會長成這樣。Thanks for the great content and the making digital signal processing more intuitive.
@commandercortez
@commandercortez 6 ай бұрын
Amazing video. The quality of your production, narration, and explanation is fantastic. I'm so happy I found this
@grangagranga3837
@grangagranga3837 Жыл бұрын
The whole series is incredibly well thought through and helped me jumpstart my memory about my undergraduate course on DSP! Great thanks Mr. Kim!
@charlesmrader
@charlesmrader 2 жыл бұрын
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.
@youngmoo-kim
@youngmoo-kim 2 жыл бұрын
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!
@Beatsbasteln
@Beatsbasteln 2 жыл бұрын
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
@amber1862
@amber1862 2 жыл бұрын
Incredible work as always.
@oussamalaouadi8521
@oussamalaouadi8521 Жыл бұрын
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.
@youngmoo-kim
@youngmoo-kim Жыл бұрын
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).
@goofi953
@goofi953 2 жыл бұрын
Excellent!! I've been waiting for that one!
@oberon2159
@oberon2159 2 жыл бұрын
Great series and cannot wait for more.
@artem.shiryaev
@artem.shiryaev 7 ай бұрын
Watched the whole series, thanks for making these! Great quality work !
@justinscott6176
@justinscott6176 Жыл бұрын
I just finished the series through video #9. Your explanations and graphics are clear and concise. I’ve learned a lot. Thanks!
@noharahien
@noharahien 5 ай бұрын
Great content. Insanely well made video tutorials. Very clearly expalined. Thank you so much!
@user-tk7iu8vq5o
@user-tk7iu8vq5o 11 ай бұрын
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 👏
@mutalasuragemohammed6954
@mutalasuragemohammed6954 9 ай бұрын
the selected song fed my soul...😂 Thank you, Sir.
@NoNTr1v1aL
@NoNTr1v1aL 2 жыл бұрын
Amazing video!
@victorherbert2728
@victorherbert2728 2 жыл бұрын
The Twilight Zone Opening was a genius move
@ryanfeng
@ryanfeng 2 ай бұрын
Excellent video! Btw, there are some typos in 9:09.
@jaykareliya4072
@jaykareliya4072 6 ай бұрын
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.
@ytubeleo
@ytubeleo 2 жыл бұрын
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.
@jeyko666
@jeyko666 Жыл бұрын
We need moreeeeee
@melchiortod29
@melchiortod29 2 жыл бұрын
That was a very cool intro
@clementbarthes2817
@clementbarthes2817 Жыл бұрын
Amazing! Thanks!
@rolfw2336
@rolfw2336 2 жыл бұрын
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?
@youngmoo-kim
@youngmoo-kim Жыл бұрын
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!
@Electronics4Guitar
@Electronics4Guitar 2 жыл бұрын
Typo: when you explained the shifting property you multiplied by x^(-2)…x^(-k) instead of z^(-2) etc.
@youngmoo-kim
@youngmoo-kim 2 жыл бұрын
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.
@pauliunknown8118
@pauliunknown8118 2 жыл бұрын
this is genius,
@tanchienhao
@tanchienhao 2 жыл бұрын
Great video!! 9:18 is it supposed to be z^-2 instead of x^-2 ?
@youngmoo-kim
@youngmoo-kim 2 жыл бұрын
Whoops! Thanks for the catch! Yes, those should definitely be factors of z, not x. I'll add a note in the description.
@tanchienhao
@tanchienhao 2 жыл бұрын
@@youngmoo-kim awesome video!!
@zachh7375
@zachh7375 6 ай бұрын
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 👏
@andrielmontenegro2027
@andrielmontenegro2027 Жыл бұрын
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
@justalittlestretch9404
@justalittlestretch9404 2 жыл бұрын
How did you get such a nice voice-over. It's great.
@dranoel9244
@dranoel9244 Жыл бұрын
I'd assume he's great at audio editing :D
@youngmoo-kim
@youngmoo-kim Жыл бұрын
Thanks! Just using a halfway decent USB mic and some equalization. Glad you like it 🙂
@fast_and_curious9144
@fast_and_curious9144 2 жыл бұрын
Yea I too Noticed Download is Greyed Out.. But didnt See Any Copyright Claims In Description
@youngmoo-kim
@youngmoo-kim Жыл бұрын
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!
@Tea0604
@Tea0604 2 ай бұрын
hope someday will be subtitle
@claycowartisamazing
@claycowartisamazing 3 ай бұрын
Homie is very smart but has poor musical tastes.... that song selection.... good lord.
Applied DSP No.  7: The Convolution Theorem
14:40
Youngmoo Kim
Рет қаралды 10 М.
Understanding the Z-Transform
19:56
MATLAB
Рет қаралды 83 М.
1❤️
00:20
すしらーめん《りく》
Рет қаралды 33 МЛН
100❤️
00:19
Nonomen ノノメン
Рет қаралды 38 МЛН
КАРМАНЧИК 2 СЕЗОН 6 СЕРИЯ
21:57
Inter Production
Рет қаралды 459 М.
FIR Filter Design and Software Implementation - Phil's Lab #17
30:35
8. IIR Filters - Infinite Impulse Response - Digital Filter Basics
14:58
Understanding the Z-Plane
16:25
MATLAB
Рет қаралды 6 М.
Applied DSP No. 3: Short-Time Fourier Transform
13:27
Youngmoo Kim
Рет қаралды 16 М.
DIY SYNTH VCF Part 2: Active Filters & Resonance
27:31
Moritz Klein
Рет қаралды 175 М.
The intuition behind the Nyquist-Shannon Sampling Theorem
11:25
Z-Transform - Practical Applications - Phil's Lab #27
26:02
Phil’s Lab
Рет қаралды 50 М.
1❤️
00:20
すしらーめん《りく》
Рет қаралды 33 МЛН