Time for action – filtering a detrended signal

We learned in the previous Time for action section how to detrend a signal. This detrended signal could have a cyclical component. Let's try to visualize this. Some of the steps are a repetition of steps in the previous Time for action section, such as downloading the data and setting up matplotlib objects. These steps are omitted here.

  1. Apply the Fourier transform, giving us the frequency spectrum:
    amps = np.abs(fftpack.fftshift(fftpack.rfft(y)))
  2. Filter out the noise. Let's say, if the magnitude of a frequency component is below 10 percent of the strongest component, throw it out:
    amps[amps < 0.1 * amps.max()] = 0
  3. Transform the filtered signal back to the original domain and plot it together with the detrended ...

Get NumPy : Beginner's Guide - Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.