An Introduction to Digital Signal Filtering for Programmers

Due to the increasing prevalence of programmable devices that make digital sensors available, such as smartphones, Arduino, and Raspberry Pi, programmers are more often finding themselves needing to work with digital signals - something which was once exclusively the domain of the electronic engineer. This article will present an introduction to digital signal filtering techniques, aimed towards programmers with no prior experience in signal processing. It will cover various filtering algorithms in common use, how to analyse them, how to select appropriate parameters for them, and how to implement them.