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

Sdílet
Vložit
  • čas přidán 11. 09. 2024

Komentáře • 37

  • @largepimping
    @largepimping Před 2 lety +4

    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  Před 2 lety +2

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

  • @roshandsouza2329
    @roshandsouza2329 Před 2 lety +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 🥰💕

  • @anotherwingover
    @anotherwingover Před 2 lety +1

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

  • @davidpatry4195
    @davidpatry4195 Před 2 lety +1

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

  • @jose6417
    @jose6417 Před 2 lety

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

  • @paryska991
    @paryska991 Před 2 lety +1

    Thank you, awesome content!

  • @nikosant03
    @nikosant03 Před 2 lety +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?

  • @Alan96555
    @Alan96555 Před rokem +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

  • @myetis1990
    @myetis1990 Před 2 lety +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 Před 11 měsíci

      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.

  • @eraydurakk
    @eraydurakk Před 2 lety

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

  • @Ekstrapolator
    @Ekstrapolator Před 2 lety

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

  • @danhellgren5671
    @danhellgren5671 Před 2 lety +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?

  • @OASH_
    @OASH_ Před 2 lety +2

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

    • @PhilsLab
      @PhilsLab  Před 2 lety

      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 Před 2 lety

    Just awesome

  • @szymon4602
    @szymon4602 Před 2 lety

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

  • @PampostReturning
    @PampostReturning Před 2 lety

    Thank you 😊❤️.

  • @ytubeleo
    @ytubeleo Před 2 lety

    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 Před 2 lety

    Impressive !

  • @merzougbouhamdi8352
    @merzougbouhamdi8352 Před 2 lety

    Thanks Sir

  • @vasilikimantiou4897
    @vasilikimantiou4897 Před rokem

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

  • @matheusschlosserbasso5649

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

    • @PhilsLab
      @PhilsLab  Před 2 lety +1

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

  • @oskarzajac8935
    @oskarzajac8935 Před 2 lety

    instant like

  • @lmmlStudios
    @lmmlStudios Před 2 lety

    amazing

    • @jotabr570
      @jotabr570 Před 2 lety

      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.

  • @carlosvargas2907
    @carlosvargas2907 Před 2 lety

    I think I love you

  • @randybasil1715
    @randybasil1715 Před 2 lety

    can you build flight controller for model rocket tvc

  • @swilwerth
    @swilwerth Před 2 lety

    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.

  • @obregr
    @obregr Před 2 lety

    good contend

  • @guntramblohm4179
    @guntramblohm4179 Před 7 měsíci

    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 Před 7 měsíci

      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 Před 2 lety

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