How to implement a simple digital filter (lowpass and highpass exponential moving average (EMA)) on a realtime embedded system (STM32 + audio codec). Useful for noise reduction, removing DC offsets, and more in simple situations.
Discussion on filter basics, advantages & disadvantages, theory, implementation in C, and realtime time and frequencydomain tests.
[SUPPORT]
Free trial of Altium Designer: https://www.altium.com/yt/philslab
PCBs manufactured and assembled by PCBWay: https://www.pcbway.com
Patreon: / phils94
Mixedsignal hardware design course: https://philslabshop.fedevel.education
Advanced Hardware Design Course Survey
https://forms.gle/X4jwvtZeJ1jTXh7r9
[GIT]
https://github.com/pms67
[LINKS]
Instagram: / philslabyt
[TIMESTAMPS]
00:00 Introduction
00:44 Altium Designer Free Trial
01:15 What We'll Look At
01:47 EMA Filter Basics
03:40 Digital Filter Basics
05:03 LowPass Filter Theory
08:36 Filter Coefficient Effect on Frequency Response (Alpha)
09:57 Software Implementation in C (LowPass)
13:11 LowPass Filter RealTime Test
16:39 HighPass Filter Theory
18:32 Filter Coefficient Effect on Frequency Response (Beta)
19:11 Software Implementation in C (HighPass)
20:23 HighPass Filter RealTime Test
23:04 Outro