top of page
Data Snapshot from 4 Subjects Performing
Accelerometer Data from 2 Subjects Perfo
Accelerometer Data from 2 Subjects Perfo
ECG and SCG Reference Signals.jpg
2 ECG and 2 SCG Signals from Experiments

Our Algorithm

We coded everything in Jupyter Notebook. We used the scikit learn and heartpy libraries. 

Our Machine Learning Pipeline consists of: Filtering and smoothing the ECG and SCG signal, extracting features from the x, y and z-axis accelerometer and using 3 classifiers (Decision Tree, K-Nearest Neighbor, and Naïve Bayes) and the data being tested and trained via 80/20 split train test or 25 cross-fold validation.

More Detail on Feature Extraction

We filtered the ECG and SCG signal with a notch filter to remove any baseline wander present in the data. Then we smoothed the ECG signal using the savitzky-golay filter. Next, we extracted the frame features from the accelerometer data using mean and variance.

ECG and SCG Signal

A lot of useful information can be obtained from the ECG and SCG signals. There are a significant number of time intervals that contain useful information we can use. Specifically, the RAC interval can be used to estimate Blood Pressure. You can see our data matches with expected signals. More information on them can be found here.

Code and Data

All raw unannotated data from the app can be found here.

All raw annotated subject specific data can be found here.

All raw annotated combined subject data can be found here

All processed annotated combined subject data can be found here.

All code can be found here

© 2020 by Jonathan Wells for EE-382V Activity Sensing and Recognition Project at the University of Texas at Austin

bottom of page