Matlab Library

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.

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. Usage of these files (or a modification of these files) should reference:

Chan ADC, Green GC, "Myoelectric control development toolbox", 30th Conference of the Canadian Medical & Biological Engineering Society, Toronto, Canada, M0100, 2007.

Myoelectric Control Example

09-10-06 MECexample.zip 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
09-10-07 medianfrequency.m 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

 

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 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

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.

Last updated 09-10-07