Signal Decomposition

This app is a hands-on introduction to signal decomposition, an age-old problem about breaking down a complex signal, also known as a time series, into the sum of simpler interpretable ones.

The simpler signals that come out of a decomposition are called components. When doing a signal decomposition, we have to specify two things:

  1. How many components do we want?
  2. What kinds of components, or "component classes", do we want?

Part 1: Understanding components

Let's build a decomposition for this signal:

  • Every decomposition needs at least two components. We'll make 2 components.
  • We have to choose the component classes out of a library of available classes.
  • Noise component: The first component always represents noise, or a residual; we typically want it to be small.
  • Other components: What to choose for the other components depends on what properties we suspect the underlying simpler signals to have.
Use the radio buttons to try a few options for the second component.

Part 2: More Decompositions

''

More about Signal Decomposition

This tutorial is based on the research book, , by Bennet Meyers and Stephen Boyd. It uses the Python library to compute decompositions.

We hope this app shows that math can be intuitive, actionable, and fun.

This material is based upon work supported by the U.S. Department of Energy's Office of Energy Efficiency and Renewable Energy (EERE) under the Solar Energy Technologies Office Award Number 38529.