Efficient FIR Filter with SIMD and Loop Vectorization [DSP #16]
ฝัง
- เผยแพร่เมื่อ 2 มิ.ย. 2024
- ✅ Check out the full article on TheWolfSound.com: thewolfsound.com/fir-filter-w...
➡️ and the associated code: github.com/JanWilczek/fir-simd
➡️ Plain FIR filter in C++ video: • How to Implement an FI...
➡️ What are SIMD instructions?: • What Are SIMD Instruct...
✅ Sign up for WolfSound's newsletter: thewolfsound.com/newsletter/
✅ Please subscribe to WolfSound to let the little Wolf 🐺 grow:
th-cam.com/users/WolfSoundAu...
🎧 Listen to my music: thewolfofficial.com/
Hi, my name is Jan Wilczek and I am an audio programmer and a researcher. Welcome to WolfSound!
WolfSound's mission is to provide high-quality, informative, and entertaining videos, articles, and courses on how to process sound by exploring mathematics, applying algorithms, and creating code in various programming languages. Topics include sound synthesis, digital signal processing, programming languages for audio (C, C++, Python, Rust), and audio effects. I am also sharing tips on how to learn fast and effectively. Make sure to visit www.thewolfsound.com/.
WolfSound enables everybody to learn about audio programming!
ABOUT THE VIDEO
In this video, I show you how to implement a FIR filter efficiently using single instruction, multiple data instructions and a powerful technique called loop vectorization. I am using C++ to explain this concept but for an actual implementation you have to check out the code on the WolfSound blog or my GitHub.
Learn how to
💡 Vectorize FIR filtering,
💡 Speed up the inner product,
💡 Compute a vector of samples on one outer loop iteration,
In case of any doubt in understanding, please, refer to the article above or ask a question in the comments 🙂
Video edited by Vadzim Vezhnavets.
Background music composed and produced by Jan Wilczek.
ABOUT ME
My name is Jan Wilczek. I am an audio programmer, a researcher in the field of music technology, and a musician. Through articles and videos from WolfSound, you will easily understand the main concepts of sound processing using software. My full story: • How I Got Started With...
FOLLOW WOLFSOUND ONLINE
✅ Blog: www.thewolfsound.com/
✅ LinkedIn: / jan-wilczek-audio-prog...
✅ Twitter: / wilczek_jan
✅ Facebook: / janwilczekwolfsound
✅ Instagram: / janwolfwilczek
✅ Pinterest: / jawitrle
TIME CODES
00:00 Introduction
00:56 Agenda
01:07 Baseline FIR filter implementation
02:23 2 loops in FIR filtering
03:07 Inner loop vectorization
04:36 In-code explanation
05:57 Outer loop vectorization
06:30 In-code explanation
08:00 Outer-inner loop vectorization
08:55 In-code explanation
09:22 Which technique is the fastest?
10:09 Summary
#simd #dsp - แนวปฏิบัติและการใช้ชีวิต
Have I helped you with this video? If yes, please, consider buying me a ☕ coffee at www.buymeacoffee.com/janwilczek
Thanks! 🙂
You should also look at how to implement it for dedicated HW (VHDL) .... it's much faster
Maybe someday I will, thanks for the tip!
❤