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.

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.

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