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

แชร์
ฝัง
  • เผยแพร่เมื่อ 21 ส.ค. 2021
  • 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 ปีที่แล้ว +31

    Thanks for remembering conjugate pole pairs. Keeping it real.

  • @mutalasuragemohammed6954
    @mutalasuragemohammed6954 9 หลายเดือนก่อน +6

    The best illustrations ever for Poles and Zeros

  • @erickappel4120
    @erickappel4120 9 หลายเดือนก่อน +3

    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!

  • @commandercortez
    @commandercortez 6 หลายเดือนก่อน +1

    Amazing video. The quality of your production, narration, and explanation is fantastic. I'm so happy I found this

  • @amber1862
    @amber1862 2 ปีที่แล้ว +11

    Incredible work as always.

  • @grangagranga3837
    @grangagranga3837 ปีที่แล้ว +2

    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 ปีที่แล้ว +4

    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!

  • @goofi953
    @goofi953 2 ปีที่แล้ว +3

    Excellent!! I've been waiting for that one!

  • @Beatsbasteln
    @Beatsbasteln 2 ปีที่แล้ว +1

    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

  • @dl1962
    @dl1962 2 ปีที่แล้ว +2

    非常的有幫助~以前從不知道z-domain視覺化會長成這樣。Thanks for the great content and the making digital signal processing more intuitive.

  • @oussamalaouadi8521
    @oussamalaouadi8521 ปีที่แล้ว +4

    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  ปีที่แล้ว +7

      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).

  • @victorherbert2728
    @victorherbert2728 2 ปีที่แล้ว +1

    The Twilight Zone Opening was a genius move

  • @oberon2159
    @oberon2159 2 ปีที่แล้ว +1

    Great series and cannot wait for more.

  • @mutalasuragemohammed6954
    @mutalasuragemohammed6954 9 หลายเดือนก่อน

    the selected song fed my soul...😂 Thank you, Sir.

  • @artem.shiryaev
    @artem.shiryaev 7 หลายเดือนก่อน

    Watched the whole series, thanks for making these! Great quality work !

  • @noharahien
    @noharahien 5 หลายเดือนก่อน

    Great content. Insanely well made video tutorials. Very clearly expalined. Thank you so much!

  • @NoNTr1v1aL
    @NoNTr1v1aL 2 ปีที่แล้ว +2

    Amazing video!

  • @justinscott6176
    @justinscott6176 ปีที่แล้ว

    I just finished the series through video #9. Your explanations and graphics are clear and concise. I’ve learned a lot. Thanks!

  • @Electronics4Guitar
    @Electronics4Guitar 2 ปีที่แล้ว +3

    Typo: when you explained the shifting property you multiplied by x^(-2)…x^(-k) instead of z^(-2) etc.

    • @youngmoo-kim
      @youngmoo-kim  2 ปีที่แล้ว +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.

  • @tanchienhao
    @tanchienhao 2 ปีที่แล้ว +5

    Great video!! 9:18 is it supposed to be z^-2 instead of x^-2 ?

    • @youngmoo-kim
      @youngmoo-kim  2 ปีที่แล้ว +4

      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 👏

  • @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 👏

  • @jeyko666
    @jeyko666 ปีที่แล้ว +2

    We need moreeeeee

  • @clementbarthes2817
    @clementbarthes2817 ปีที่แล้ว

    Amazing! Thanks!

  • @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 ปีที่แล้ว +1

    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.

  • @ryanfeng
    @ryanfeng 2 หลายเดือนก่อน

    Excellent video! Btw, there are some typos in 9:09.

  • @rolfw2336
    @rolfw2336 2 ปีที่แล้ว +1

    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  ปีที่แล้ว +1

      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!

  • @melchiortod29
    @melchiortod29 2 ปีที่แล้ว +1

    That was a very cool intro

  • @pauliunknown8118
    @pauliunknown8118 2 ปีที่แล้ว +1

    this is genius,

  • @justalittlestretch9404
    @justalittlestretch9404 2 ปีที่แล้ว +3

    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  ปีที่แล้ว +1

      Thanks! Just using a halfway decent USB mic and some equalization. Glad you like it 🙂

  • @andrielmontenegro2027
    @andrielmontenegro2027 ปีที่แล้ว +1

    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

  • @fast_and_curious9144
    @fast_and_curious9144 2 ปีที่แล้ว +1

    Yea I too Noticed Download is Greyed Out..
    But didnt See Any Copyright Claims In Description

    • @youngmoo-kim
      @youngmoo-kim  ปีที่แล้ว +1

      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.