[#13] FIR Filters - Audio DSP On STM32 (24 Bit / 48 kHz)

Поділитися
Вставка
  • Опубліковано 13 січ 2025

КОМЕНТАРІ • 29

  • @Aemilindore
    @Aemilindore 4 роки тому +3

    such a useful video. Explaining the basics of IIR from scratch! lovely.

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

    Thanks for your video, It's very useful.

  • @arashhashemi7091
    @arashhashemi7091 4 роки тому

    Great ✌️, end of the best 👍

  • @MickeyMishra
    @MickeyMishra 3 роки тому

    that was actually a really good example thank you very much. I was looking for an actual audio sample example of a fir filter and from what I understand you basically made a subwoofer crossover or it will for crossover correct?
    FIR vs IIR should be pretty simple to understand in layman's terms but so far I haven't been able to really grasp it since I haven't really heard anybody who doesn't or who couldn't possibly want a rocket ship in the space actually explain it.
    this is really my own shortcomings but it sure would be cool if I could one day wrap my head around the real differences of it since so far what I understand is that from an audio perspective each realtor has its strengths and weaknesses in different bands for example a f i r filter is actually more accurate in the higher Faith Francie's but can produce a type of ringing that you don't get when you use an IIR filter in the lower frequencies .
    you know I know what good sound sounds like and I know what I like to listen to but I sure would love to know more about the science behind it. I can understand why people stick to analog crossovers but even then I still have a little bit of trouble understanding the differences between Castle Chevy Chase and Link with Riley

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

    Hello! I have a question please, after I upload the audio signal into the STM32, how exactly do I filter it? how do I link the two codes: the uploading of the audio code and the IIR filtre code??

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

    Hi, does STM32 cortex M4 or M7 capable of implementing the DSP based audio equalizer (stereo in stereo out)? How can filter banks be implemented and what type of EQUALIZER suitable with this hardware setup (graphic or parametric)?

  • @matrud_bass
    @matrud_bass 4 роки тому

    Hi there, first of all thank you very much for the very instructive video series von DSP topics. I just recently started to develop an interest for digital signal processing and your videos are very clear and not to flashy and hectic to desperately gain more subscribers.
    Do you think a stm32 is powerful enough to be used for implementing e.g. a stomp box type impulse response loader acting as a cabinet simulator (the planned impulse response length would be approx. 20ms, the audio signal would be a 48kHz mono signal).
    Cheers

    • @amimaster
      @amimaster 4 роки тому

      Ok, I was about asking the exact same thing in a comment and then I noticed yours. Did you make any progress on this? I'm planning to build a IR loader too for embedding it in an (analog) guitar amplifier I'm building (or using it as a stompbox while playing using headphones). I'd be very interested in knowing about that, I'm quite new with embedded systems but I took some signal processing courses..

    • @matrud_bass
      @matrud_bass 4 роки тому +1

      @@amimaster I will use a teensy board 4.0..thats a pretty powerful board using a cortex m7 soc, it's cheap and can be programmed in the Arduino IDE. hope this helps you

    • @amimaster
      @amimaster 4 роки тому

      @@matrud_bass I will look into it. Thanks a lot!

  • @Andy-ph1qj
    @Andy-ph1qj 3 роки тому

    Hello, I adapted your code for ESP32 and tried to use more than 180 taps ​​(impulse response guitar cabinet), the sound dissipates more noticeably, the higher the value. Not enough processing power? Have you tried over 180 taps?

  • @Andy-ph1qj
    @Andy-ph1qj 4 роки тому

    Great job!

  • @lotionlrc2080
    @lotionlrc2080 4 роки тому

    Wow, Such an amazing video, thank you so much, it helps me alot,
    by the way can we control the volume of an audio digitally?

  • @felipegarciaencina5117
    @felipegarciaencina5117 4 роки тому +1

    Hello,is there any chance you could help me with some advice in a project related to filtering audio with a ESP32. This work can be paid, let me know if you are interested!

  • @johnsaeid95
    @johnsaeid95 4 роки тому

    Hello There
    I was wondering if there is a way to generate the IIR or even FIR filter Coefficients dynamically in run time on STM32 ?
    did you try something like this before ?

    • @YetAnotherElectronicsChannel
      @YetAnotherElectronicsChannel  4 роки тому +1

      Yes is possible - see the formulas in hereraw.githubusercontent.com/shepazu/Audio-EQ-Cookbook/master/Audio-EQ-Cookbook.txt

    • @johnsaeid95
      @johnsaeid95 4 роки тому

      @@YetAnotherElectronicsChannel you said in video that it is not possible to achieve of course 500 tabs using FIR with STM
      I am trying to build a graphical audio EQ using STM using 80MHz.
      1-So which filter shall I use FIR or IIR ? (I know IIR will do phase shift but I can't calculate 500 tabs using STM , Can I !!)
      2- if I decide fixed freq bands and want just to manipulate gain of each freq band, shall I store only each band coefficients and just multiply each band filtered output by a gain
      or shall I have Coeff. for every gain in the band stored in ROM?

    • @YetAnotherElectronicsChannel
      @YetAnotherElectronicsChannel  4 роки тому

      Hanna Nabil something like this is realized normally with IIR filters. And all the filters are working in series.
      Well the frequency and the width of the filters are fixed but the gain is variable. So for every gain change u have to recalculate all the IIR parameters for that specific filter block

    • @johnsaeid95
      @johnsaeid95 4 роки тому

      @@YetAnotherElectronicsChannel so using the IIR due to hard processing of FIR
      Or Just it is more related to Graphical EQ

    • @YetAnotherElectronicsChannel
      @YetAnotherElectronicsChannel  4 роки тому

      Hanna Nabil mainly because of the long group delay of FIR. The FIR taps get more the lower the frequency you want to process. Worst case u would have to deal with thousands of tabs leading to couple of hundred ms of delay

  • @idanozana9649
    @idanozana9649 4 роки тому

    Wow, your videos are very informative and well presented- well done!!!
    In your FIR filter you mentioned that if I want to get better understanding about the calculation itself of the Calc_FIR function (in particularly to the "firptr" array pointers), I can use the "How it works" file in the github channel- I didn’t' find it... can you add link to the file location? (I'm kind of new in STM32…).
    Thank you very much (for all the videos).

    • @YetAnotherElectronicsChannel
      @YetAnotherElectronicsChannel  4 роки тому

      Hi, just have a look into the video-description. There I have shared the link to my github repository. There is a .zip package which is actually the complete STM32 code-project and then just open the main.c file :)

  • @hlw8051
    @hlw8051 4 роки тому

    You are the man
    Any chance you know anything about granular dsp. Such as how to implement the sample window and pitch shifting?

    • @YetAnotherElectronicsChannel
      @YetAnotherElectronicsChannel  4 роки тому

      At least about pitch-shifting I did already a video. Check out my video overview of my channel!

    • @hlw8051
      @hlw8051 4 роки тому

      @@YetAnotherElectronicsChannel My bad cheers buddy! Keep it up, really great content here.

  • @nidhalhaddad9175
    @nidhalhaddad9175 4 роки тому

    ty for the grat content

  • @1PartiZzan
    @1PartiZzan 4 роки тому

    Big like..!

  •  4 роки тому

    Let's see if I'm getting things right.
    At 48k/24b sampling, new sample will arrive every 20.8us. For F407 at 168MHz single cycle is ~6ns. Based on the C code given at t-filter.engineerjs.com/ my estimation is some 6 cycles per tap are needed (but could be wrong). That gives ~36ns per tap and max ~570 taps for real time execution if there is nothing else on mcu, just dsp and eventually volume control. So 2x~200 taps or 4x~130 taps filters could fit in this mcu regarding processing power, but not accounting for dma transfer.
    I'd like to know if my math regarding mcu load is correct. I also do not know will 192k SRAM will be enough (really 64k CCM), or could FPU and/or DPS instructions help in increased filter quality or reducing mcu load.
    Nice channel btw, You're doing a great work here.

    •  4 роки тому

      For memory requirements it would be (#taps +1)*sizeof(int) bits? So for 570 taps that is 18272 b (2284 B)?