2010/bmi10/EMG

Objective

Develop a neural interface using Electromyogram (EMG).

Control Algorithms for Prosthetics System (CAPS)

The Control Algorithms for Prosthetics System (CAPS) provides researchers and clinicians with tools to create highly customized prosthesis configurations tailored to the individual subject and supporting a range of prosthetic devices that can be configured dynamically. It also provides insertion points in its modular processing logic that allow researchers to test prototype replacements or supplements to exisitng modules while continuing to harness standard CAPS features unrelated to the alterations. While CAPS currently supports a range of prostheses, new devices that employ standard interfaces can be added to the CAPS device library without code modifications. CAPS functionality includes, in normal order of use:

 Selection of inputs, including electrode and switch hardware and playback of recorded files  Selection of outputs, including supported prosthetic devices and virtual reality  Raw and filtered input, and output signal display at various processing points  Raw data recording to disk files  Filtering of input signals, including high, band pass, and notch filtering, plus ECG suppression  Assignment and configuration of inputs using a range of algorithms to output degrees of freedom:  Direct Control of a single degree of freedom (DOF) based on one or two channel inputs  Multi-Input-Single-Output (MISO): one selection from a set of multiple movement classes based on multiple input channels, each assigned to a different output class  Pattern Recognition Classifier, with tools for training, testing, and viewing classifier models  DOF Switch Controls based on long or short co-contractions or timeout  Output signal conditioning, including gain application, majority voting and output filtering  Delivery of output signals to drive prosthetic devices or virtual reality  Virtual Reality including individually variable DOF speeds  Subject Motion and Target Achievement Control (TAC) Testing In addition, tools for advanced users such as researchers include:  Configuration of new output devices driven by supported interfaces  Real-time substitution for or supplements to existing CAPS modules by new user prototype code, including:  MATLAB scripts  Independent asynchronously running processes using a C, C#, or MATLAB API  Plug-in module launcher for supporting applications

More >> https://neuromorphs.net/nm/attachment/wiki/2010/bmi10/EMG/CAPSUserGuide.pdf

Time Domain Feature Extraction

featvector = TDFeatExtractmex( feat-select, input-data-frame-matrix, opt-prior-data-matrix )

where,

feat-select is a double scalar that selects the desired features to compute. It is in effect a bitmap that selects the desired feature types to create. One or more features are selected by adding its value to feat-select.

1=Mean Relative Value (abs value from the mean referred to as MAV for feat ext.) 2=Waveform Vertical Length 4=Zero Crossings 8=Slope Changes 16=Mean Absolute Value

input-data-frame-matrix is an input 2D data matrix with one row for each channel, and one column for each timepoint sampled. The data points must be unsigned 16 bit integers.

opt-prior-data-frame-matrix is an optional input 2D data matrix parameter with one row for each channel, and either the entire previous frame's columns, or a subset of that frame containing at least the last 2 columns, representing the 2 datapoints recorded for each channel immediately prior to this frame. If included, this additional data is used to avoid missing slope changes, zero crossings, and wave vertical length accumulation across frame transitions, as multiple consecutive datapoints are required to compute these features. These data points are also unsigned 16 bit integers.

output-feature-matrix is a row vector consisting of concatenated features for each channel (ordered MAV, waveform-length, zero-crossings, slope-changes), the 4 features for the first channel followed by the 4 features for the next channel, etc. All output feature values are MATLAB double variables.

Linear Discriminant Analysis

Please find an overview on Linear Discriminant Analysis >> https://neuromorphs.net/nm/attachment/wiki/2010/bmi10/EMG/Chap5_LDA.pdf

Attachments