Keywords: biological signal, electromyography (EMG), feature reduction, Matlab, myoelectric control, myoelectric signals (MES), pattern classification, prosthetic control, prosthesis, signal processing
Usage
If you are using these files (or a modification of these files) provide an acknowledgment (e.g. in publications) for their usage. Usage of these files (or a modification of these files) should reference:
Myoelectric Control (MECLab)
The Matlab files will enable people researching MES/EMG classification methods to have a common methodology to compare against. The methodology used is a relatively simple and direct approach using ULDA feature reduction and a LDA classifier; however, has shown to be quite effective.
Myoelectric Control Example
MECexample.zip (10-02-08) Example code and data to classify eight channels of myoelectric data to predict seven upper arm motions (i.e. using electromyography (EMG) signals for control of upper limb prostheses).
Feature Extraction
getrmsfeat.m root mean square feature
getmavfeat.m mean absolute value feature
getiavfeat.m integrated absolute value feature
getarfeat.m autoregressive feature
getzcfeat.m zero crossing feature
getsscfeat.m slope sign change feature
getwlfeat.m waveform length feature
scatterplot.m creates a scatter plot of the feature vector (likely want to use pca or ulda feature reduction first)
Feature Reduction
pca_feature_reduction.m principal component analysis feature reduction
ulda_feature_reduction.m uncorrelated linear discriminant analysis feature reduction
Classification
score_classify.m converts columns of scores into classification outputs (numbers)
confmat.m generates a confusion matrix
plotconfmat.m plots a confusion matrix
plotconfmattext.m plots a confusion matrix in text format
find_rank.m find the rank of a particular class given columns of scores
rank_classify.m converts columns of scores into ranks
majority_vote.m performs majority vote post processing on classification decisions
classification_timeplot.m plots classification results as a function of time
lda_classify.m classification performed by linear discriminant analysis
knn_classify.m classification performed by k-nearest neighbors
Myoelectric signal processing
meanfrequency.m computes the mean frequency
medianfrequency.m (09-10-07) computes the median frequency
SMratio.m computes the signal-to-motion artifact ratio
DPratio.m computes the maximum-to-minimum drop in power density
SNratio.m computes the signal-to-noise ratio
OHMratio.m computes the spectral deformation
Miscellaneous
remove_transitions.m (10-02-08) will remove transitional data (e.g. from a time series of feature vectors)
Adaptive Signal Processing
anc_lms.m adaptive filter using the LMS algorithm
anc_rls.m adaptive filter using the RLS algorithm
Miscellaneous
find_delay.m finds the delay (in samples) between two signals
approxequal.m logical function to compare numbers to see if they are within a certain tolerance of each other
remove_mean.m removes the mean from signals that arranged in columns
gausspdf.m computes the Gaussian probability distribution function
loggausspdf.m computes the log Gaussian probability distribution function prd.m computes the percent residual difference
M15GUI.zip software to configure the Grass-Telefactor Model 15 Neurodata Amplifier System
findqrs_mobd.m this function is an implementation of the MOBD algorithm for QRS detection
getaxondata.m this function Loads data from Axon file (generated from AxoScope)
Disclaimer
The files provided are distributed "AS IS" and "WITH ALL FAULTS". We do not offer a warranty for the content or use of these files nor do we guarantee their quality, accuracy, fitness for a particular purpose, or safety - either expressed or implied. All questions, complaints, issues, and claims related to files should be directed to the contributing author.
You assume all risk associated with downloading these files from this site.
You are solely responsible for protecting yourself against viruses, and backing up data, files and hardware used in conjunction with the files.
Matlab is a registered trademark of The Mathworks, Inc.