fft based FIR filter design (windowing and phase issues)

Поделиться
HTML-код
  • Опубликовано: 22 окт 2024
  • Explains impact of windowing and phase on FIR filter design and shows some matlab/octave code implementation at the end of the video.
    Here's a link to some code you can use to investigate the concepts introduced in the video in more detail dadorran.wordp...
    Here's a link to a proof that a rectangular window in the frequency domain is a sinc function
    ccrma.stanford....

Комментарии • 12

  • @jaibhimadevi5805
    @jaibhimadevi5805 5 лет назад +1

    Just discovered your channel; while I'm not a MATLAB guy, your videos are a great resource for learning some key DSP ocncepts. Any chance on doing a Hilbert transform video?

  • @daa2622
    @daa2622 4 месяца назад

    Sir, about the linear phase spectrum, is it really just a random straight line that you chose, or is it based on something rigorous? and i suppose the steeper the line, the smoother the resulting magnitude of the IFFT is, right?
    and is it ever possible to achieve a perfect "blue line" IFFT like one you mentioned in 1:25? completely disregarding how messy the phase spectrum would be, is that ever possible?

    • @ddorran
      @ddorran  4 месяца назад

      The phase spectrum calculation is shown at the very end of the video where some matlab code is provided. I haven't investigated the impact of increasing the steepness of the line so can't comment at this point in time.
      In theory, it is possible to achieve any frequency response but the trade off is an infinite number of filter coefficients, which isn't practical!

    • @daa2622
      @daa2622 4 месяца назад

      okay, let me follow that then and ill try some experiments of my own. thank you!

    • @daa2622
      @daa2622 4 месяца назад

      i did some learning, and i found out that the negative of the slope of the phase spectrum (unwrapped) corresponds to the group delay introduced into the signal. in other words, the steeper down the (unwrapped) phase shift will be, the further back in time the peak will be.
      Wikipedia has an article on phase delay and group delay. i confirmed this using libreoffice calc; i just applied it in practice. and it works!

    • @ddorran
      @ddorran  4 месяца назад

      @@daa2622 Ah yes! That makes perfect sense. I did a video on linear phase filters that might be of interest ruclips.net/video/xPTe7ZWLVhQ/видео.htmlsi=WiqiA7-z8QENey7K

  • @seisette
    @seisette 5 лет назад +1

    1:05 is this what's commonly known as "frequency sampling" FIR design method, right?
    Proakis-Manolakis 10.2.3 or Schaum's Outlines 9.3.2

    • @ddorran
      @ddorran  5 лет назад +3

      Yes it is frequency sampling method. In a lot of texts you will also see an approach which starts with a mathematical description of an 'ideal brick wall' frequency response, then the inverse fourier transform is a sinc function, and the sinc function is sampled to obtain the b coefficients. www.allaboutcircuits.com/technical-articles/design-of-fir-filters-using-frequency-sampling-method/ also goes through some details on the various approaches.

  • @autumnfox3619
    @autumnfox3619 5 лет назад +2

    Does it work for IIR filters as well?

    • @ddorran
      @ddorran  5 лет назад

      No

    • @autumnfox3619
      @autumnfox3619 5 лет назад

      @@ddorran Ah, sorry, meant like: is there a similar way to design IIR filters from an arbitrary/given frequency response? Thank you!

    • @ddorran
      @ddorran  5 лет назад +3

      @@autumnfox3619 There are, but it's not something I know a lot about. Having said that, an approach using pole zero placement (see ruclips.net/video/m5TP2uG_O2M/видео.html) might give you some intuition on how to tackle the problem. You can meet an arbitrary frequency response by moving poles and zeros around the z-plane. Then you can use the poles and zeros to get the system coefficients.
      You can do this by hand using the zpgui tool (by Tom Krauss of Perdue). Mathematical approaches would seek to position poles and zeros to minimise the error between the desired frequency response and the response resulting from pole zero placement.
      Hope this helps.