This repository holds related source code for the paper "MyoMonitor: Evaluating Muscle Fatigue with Commodity Smartphones" as published on Smart Health journal in 2021. You may find the paper here.
This is the project of the MyoTester Android App, used to collect acoustic data using Android smartphone with muscle workout.
App Usage.pdf
: The usage of Android App.
These files process the collected data for fatigue detection and classification.
Main.m
: Entry script. Classification of fatigue vs. non-fatigue on collected data.Main2.m
: Classification of fatigue vs. non-fatigue on collected data, using classic approaches.fatigueClassify.m
: the main fatigue classification algorithm.featureExtraction.m
: Extract features from raw channel estimation.preprocessing.m
: Preprocessing of received data by computing its channel estimation.ReadAudioFile.m
: Script to read audio file to MATLAB data format.sumDistanceFunc.m
: Function used bypreprocessing.m
, compute the sum distance of a complex data array to the centroid.audioFeatureExtraction/
dir: third-party MATLAB library to provide some audio feature extraction functionalities.accProcess.m
: Process accelerometer data collected during experiment.accData/
dir: Sample input data to be processed byaccProcess.m
..mat
files: Workspace variables to be loaded.
CircleFit.m
: Function used byModifiedMTI.m
.curveSearch.m
: Function used bysingnalProcessMulti.m
.ModifiedMTI.m
: Function used bysingalProcess.m
,signalProcessBatch.m
, etc.singalProcess.m
and related file: Process raw audio and plot channel estimation results.Data/
dir: sample raw audio input for the channel estimation above.sumDistanceFunc.m
: (duplicate file, see above)ReadAudioFile.m
: (duplicate file, see above)ORM.m
,ORM_windowd.m
: Remove outliers in the fatigue data.EMG/
dir: Sample of collected raw EMG signals.transPointsIdentifyEMG.m
: Identify the transition point for EMG signal.plotEMG.m
,plotBothMulti.m
, and related file: plot collected EMG signals.signalGeneration.m
: Generate audio signal for the experiment..mat
files: Workspace variables to be loaded bysignalProcess.m
.
muscleInfoReadback_script.m
: Process PCM audio data collected from the phone.kmeans_weight.m
: calculate k-means clustering for single muscle workout.kmeans_segformat.m
: data segmentation for k means clustering.channelEstiSigCreate.m
: create sequence to transmit 26-bit GSM training sequence.dataSeg_timeseries.m
: Data segmentation for time series.dataSeg.m
: Data segmentation for spectrum.
Unless otherwise noted, all files under this repository are released with the following copyright information:
Copyright (c) 2020-2024 Intelligent Systems Lab, University of Pittsburgh. All Rights Reserved.
For files under muscle_v31/audioFeatureExtraction/
, please refer to the individual license file within the directory.