Due date: Sept 15

Part 1: Working with smartphone sensor data

In this assignment you will learn:

  1. How to process smartphone accelerometer data to compute step counts using basic signal processing.

  2. Basics of the system development life cycle:

    data collection → offline algorithm development → real-time smartphone implementation

We are providing you with sample code to record and plot accelerometer data from Android and iOS devices here:

Accelerometer data collection tool [Android , iOS]

Checkpoints and recommended steps:

  1. Download the starter code to your computer and open it up with Android Studio or XCode. Push the code to your phone.
  2. Start collecting data with this app by walking in a line, in a circle, in zig zag motions and at different speeds. For each test record ground truth values, that is, record the number of steps taken in a single session. Conduct this testing systematically and multiple times. The phone can be in the pocket or the hand.
  3. Examine these logged files in MATLAB, Jupyter Notebook or other data visualization tool of your choice. MATLAB is free for CMU students and is typically used when developing signal processing algorithms due to its rich library of built-in functions.
  4. In MATLAB explore different simple signal processing techniques to use to capture the peaks of a step:
  5. Develop an algorithm that you can run over each data file that reliably and accurately outputs the number of steps taken. To combine the 3 axes accelerometer data, compute its magnitude: sqrt(x^2 + y^2 + z^2)

Here is an example step count trace where the magnitude of the data is plotted