Notch Filters - Theory and Software Implementation - Phil's Lab #39

Поділитися
Вставка
  • Опубліковано 25 сер 2024

КОМЕНТАРІ • 37

  • @roshandsouza2329
    @roshandsouza2329 2 роки тому +7

    You create great content! from designing PCB to DSP! I had tough time implementing these filters on software! But you're videos really help me to understand. Thank you so much 🥰💕

  • @largepimping
    @largepimping 2 роки тому +3

    Phil, your videos are fascinating and really well done. Thank you for continuing to make them! However, I do have to give you a hard time, only because it made me chuckle... around the 6:15 mark you twice said "nodth witch" instead of "notch width." I was so engrossed in the material that I had to go back and listen to it about three times to make sure I heard it right.

    • @PhilsLab
      @PhilsLab  2 роки тому +2

      Haha yes, I heard that while editing but decided to keep it in :D

  • @anotherwingover
    @anotherwingover 2 роки тому +1

    That's the first time i hear about prewarping. It's always nice to learn something new 👍🏻

  • @davidpatry4195
    @davidpatry4195 2 роки тому +1

    If you ever are looking to adopt, please consider my candidature.
    Thank you so much for these videos

  • @jose6417
    @jose6417 2 роки тому

    Awesome video Phil! This gave me a great idea for a project I'm working on. Thanks for making this!

  • @paryska991
    @paryska991 2 роки тому +1

    Thank you, awesome content!

  • @Ekstrapolator
    @Ekstrapolator 2 роки тому

    One day I will try to implement one of this filters !!!

  • @nikosant03
    @nikosant03 2 роки тому +2

    Hi Phil, thanks you for your effort!! I cloned the LittleBrain-STM32F4-Sensorboard repo but it doesn't include the NotchFilter library. Is there another repo that you have included?

  • @eraydurakk
    @eraydurakk 2 роки тому

    This content is really helpful for me. and i am waiting for the EKF software implamentation

  • @Alan96555
    @Alan96555 Рік тому +1

    I cant find the notch filter code in your github. Also, im trying to use the serial oscilloscope with DAC DMA, but i cant

  • @danhellgren5671
    @danhellgren5671 2 роки тому +1

    I must say you are a great teacher.. I must try the serial oscilloscope. I have two questions. I know that float uses single precision format, but can we always be sure that the FPU is used? Do you measure the execution time of your different parts of code?

  • @myetis1990
    @myetis1990 2 роки тому +1

    Good job Phil, thanks for the effort.
    You mentioned the applications of use as motor vibration noise elimination from accelerometer sensors, but as you know
    the props are spinning at variable speeds, so the vibration frequency may vary. So, how do we decide which freq to be notched?

    • @kersgames6382
      @kersgames6382 10 місяців тому

      Maybe a bit late, but I got to this problem actually today. I was measuring my system by putting in a constant accelertion of a linear actuator, but because of a big mass which was undamped, a resonance in my measurement signal was determined. By putting a notch filter in my controller on the resonance frequency, the controller completely damped the resonance frequency. Another implementation can be that you indeed want to damp your input signal. Therefor, a moving notch filter can be applied (currently being implemented for a wide range of drone's). With that, your acceleration changes are damped, such that your accelerometer can actually measure your accelerations. It sounds not that intuative, but you think of it by blocking your input accelation from your measured accelerion.

  • @szymon4602
    @szymon4602 2 роки тому

    15:39 "Serial monitor link in the desctription" it seems to be missing.

  • @PampostReturning
    @PampostReturning 2 роки тому

    Thank you 😊❤️.

  • @OASH_
    @OASH_ 2 роки тому +2

    Hello Phil,
    Any news about the KiCAD PCB course you were planning to release.
    thanks!

    • @PhilsLab
      @PhilsLab  2 роки тому

      Hi, Sorry for the delay - I'm really putting my head down to get this course finished now. Just need to do the voice overs and check the content, then it should be ready!

  • @MrRonychakraborty
    @MrRonychakraborty 2 роки тому

    Just awesome

  • @merzougbouhamdi8352
    @merzougbouhamdi8352 2 роки тому

    Thanks Sir

  • @ytubeleo
    @ytubeleo 2 роки тому

    Great video. At 16:11, the signal jumps 40% higher momentarily when you switch from 2 Hz to 3 Hz. This worries me that it could saturate the signal in many applications. Why does that happen? Is it just coincidence that it jumps to almost exactly 1.414x the amplitude, i.e., the square root of 2?
    Also, will this approach work well for narrow notch filters at higher frequencies, for example a 1 Hz notch filter at 50 Hz to remove powerline interference? Can it even do something like 1 Hz width at 10 kHz or is something going to fall apart? Thanks!

  • @PhG1961
    @PhG1961 2 роки тому

    Impressive !

  • @vasilikimantiou4897
    @vasilikimantiou4897 Рік тому

    Great content as always! Can we do the same with the bluepill developing board?

  • @matheusschlosserbasso5649
    @matheusschlosserbasso5649 2 роки тому

    Awesome!!! Just one question. Why not use ZOH to discretize the tf?

    • @PhilsLab
      @PhilsLab  2 роки тому +1

      Thank you, Matheus. There are many ways to discretise - I've just opted with this method in this case.

  • @lmmlStudios
    @lmmlStudios 2 роки тому

    amazing

    • @jotabr570
      @jotabr570 2 роки тому

      Hi Phil thank you and congratulations, this is excellent material. Are you planning to cover other filters like Chebyshev or Butterworth ? That would make this series very complete. Thanks again.

  • @randybasil1715
    @randybasil1715 2 роки тому

    can you build flight controller for model rocket tvc

  • @swilwerth
    @swilwerth 2 роки тому

    I have a problem with a set of IIR filters where the filter computation of a bit stream needs to be done in parallel (to gain speed on a multicore system).
    So, the input stream is split on overlapping chunks of fixed sample count and sent each to the parallel filter threads, then the outputs of the filters are concatenated in order to assemble the output signal as it was done with a single filter.
    There are a major issue there.
    As the IIR are feedback type, the current output depends on previous values, so it produces edge distortion at the beginning of each block (it does not know the previous values).
    The question is. Are there a way to compute how many samples of the previous block are needed to minimize the start of the block edge distortion in a way the resulting distortion is less than a given error magnitude? (The procedure is to add N samples of the previous block to the beginning of the current one, the question is how to determine N given an arbitrary IIR)
    I guess it is something related to the maximum absolute value of the Z exponent on the transfer function and its weight. But I guess someone solved that before.
    Do you know some specific keywords for searching for this particular problem available solutions?
    Searching for parallel IIR implementations I found a summing solution, but not the one I described.
    In this one the filter is applied to different time portions of the input in parallel not the same portion and then the output summed.

  • @oskarzajac8935
    @oskarzajac8935 2 роки тому

    instant like

  • @obregr
    @obregr 2 роки тому

    good contend

  • @carlosvargas2907
    @carlosvargas2907 2 роки тому

    I think I love you

  • @guntramblohm4179
    @guntramblohm4179 6 місяців тому

    You're generating 100 samples per second, so, your sample rate is 100 Hz, and you're filtering out 50 Hz. Nice and fine. But if you have a much higher sample rate, say, 10 KHz, and still want to filter out 50 Hz, wouldn't you need a formula that stores many more of the previous samples (and converted results)?

    • @guntramblohm4179
      @guntramblohm4179 6 місяців тому

      ok, that was a stupid question - the X and Y values are sufficient to describe a "correction wave", which, if subtracted from the original values, filters out the 50Hz signal. But you only need X and Y to describe that correction, not a memory of all previous values that describe how the parameters were found.

  • @meyou118
    @meyou118 2 роки тому

    Altium is too expensive for hobbists... you sold out man! - im unsubscribing