Filters
A filter is an operation on signals that either removes features or extracts some component. SciPy has a complete set of known filters as well as the tools to allow construction of new ones. The complete list of filters in SciPy is long, and we encourage the reader to explore the help documents of the scipy.signal
and scipy.ndimage
modules for the complete picture. We will introduce in these pages, as an exposition, some of the most used filters in the treatment of audio or image processing.
We start by creating a signal worth filtering:
>>> from numpy import sin, cos, pi, linspace >>> f=lambda t: cos(pi*t) + 0.2*sin(5*pi*t+0.1) + 0.2*sin(30*pi*t) + 0.1*sin(32*pi*t+0.1) + 0.1*sin(47* pi*t+0.8) >>> t=linspace(0,4,400); signal=f(t)
First, we test the classical smoothing filter of Wiener and Kolmogorov, wiener
. We present in a plot
the original signal (in black) and the corresponding filtered data, with a choice of Wiener window of size 55 samples (in blue...