Skip to main content

Turning Wearable Sensor Data into Research-Ready Measures

Developing algorithms & analysis tools to transform raw actigraphy data into meaningful measures of activity & sleep.

My first Master's thesis was to work on the Texas Instrument's hackable MSP430 MCU watch to develop algorithms to learn activity (eg. walking, running, sleeping) from the accelerometer data.

I researched and developed algorithms (written in Matlab) for processing actigraphy data to quantify human activity for clinical and health-monitoring applications comparing the effectiveness of 3 different methods.

The watch

Preprocessing Pipeline

Signal Differential: I take the first-order differential of the raw $x, y, z$ accelerometry signal to eliminate the static gravitational pull (DC bias) and isolate kinetic force.

Root Mean Square (RMS): I combine the tri-axial differential signals into a single scalar value by taking the RMS across axes.

Gap Identification & Interpolation: My algorithm intelligently identifies data gaps or unrealistically static signals (when the device is unworn) and interpolates non-uniform sampling to maximal resolution.

Bandpass Filtering: I filter the signal to retain energy frequencies associated with conscious human movement while attenuating irrelevant noise.

Quantification Methods

Method 1 (Fourier Analysis): Using Welch's method of averaged periodograms over a sliding window, I track frequency changes over time to filter specific frequencies of interest and identify distinct activities.

Method 2 (Repulsive Thresholding): I designed an autonomous threshold that pushes away signals approaching it from either side, enabling fast and simple binary classification of high versus low activity status.

Method 3 (Linear Regression Analysis): By comparing statistics from an 11-minute sliding window against a database of baseline sleep/wake stats, I assign a sleep probability score to classify sleep, low activity, and high activity.

Poster

In Retrospect

If I were approaching this problem today, I would be using Monte Carlo simulations to categorise the signals or even proper ML methods, but I was blissfully ignorant of those back in the day.

Download poster

Keyboard shortcuts