EMG

From Software Product Documentation
Jump to navigation Jump to search
Language:  English  • français • italiano • português • español 

EMG stands for electromyography, which is the study of electrical signals from active muscles that are receiving input from the central nervous system. More information on EMG can be found in most good biomechanics and motor control textbooks, and on Wikipedia.

For additional information on EMG processing requirements for the International Society of Electrophysiology and Kinesiology.

You will find other useful information on EMG signal processing posted by Noraxon

Step 1: Data Collection - Set Up

Before you begin collecting your data you should know and review this information. When reporting your EMG data, you should also report this information:[1][2]

  1. Electrode shape and size
  2. Electrode type
  3. Skin preparation
  4. Position and Orientation on Muscle (seniam.org, Recommendations -> Sensor Location)[2]

Sampling Rate:

Visual3D expects the EMG signals to be stored as ANALOG data, not unlike force platform data. One point of importance is that EMG typically has very high frequency content, which means that it must be sampled at high data sampling rates.

Synchronize Data:

  • If you plan to analyze your EMG and motion capture data together, the data must be synchronized
  • Data can be out of sync due to:
    • a physiological issue known as electromechanical delay (EMD)
    • technical issues with data collection (e.g. the saved EMG signal might be "delayed" because the EMG system is wireless)

You must know the sync between the analog and motion capture data, but you can use the Shift_Frames command to synchronize the analog data to the motion capture data.

Step 2: Data Collection - Review

While collecting your data (especially during patient setup), it's necessary to look at your EMG signals to ensure you're collecting good data.

There are plenty of examples of what an EMG signal should look like.

  • Biomechanics and Motor Control of Human Movement
    • page 270, Figure 10.15[3]
    • page 265, Figure 10.11[3]
  • Research Methods in Biomechanics 2nd Edition
    • page 183, Figure 8.4[4]
    • page 189, Figure 8.7[4]
    • page 196, Figure 8.13[4]

Figure 8.4[4] shows what the EMG signal should look like, along with common distortions that you should check your EMG signal for PRIOR TO DATA COLLECTION. Check for clipping, excessive noise, movement artifact (something hitting the electrode). Many of these issues (such as clipping your signal) cannot be corrected for in post processing, so it is necessary to look at your EMG signals prior to data collection.

A quick example of what an EMG signal should look like is below:

  • There should be a clear "burst" when the muscle contracts (red)
  • There should be periods of "rest" (blue)

Step 3: Post Processing

There are many different ways, some common methods are:

  1. Half or full wave rectified
  2. Linear Envelope (page 269[3])
    1. Half or Full Wave Rectified
    2. Lowpass Filter
  3. Integration of full wave rectified signal over various time periods (page 269[3])
  4. Root Mean Square (RMS) Amplitude

Step 3a: Remove DC Offset


Examples:

  1. Highpass Filter
  2. Background or Resting C3D File

NOTE: Either method is acceptable to remove the offset.

Step 3b: Process EMG Signal

You should choose one variation of the processing methods below.

Linear Envelope

A linear envelope is simply a half or full wave rectified signal (absolute value) followed by a Lowpass Filter.[3]

A half wave rectified signal signal would only contain the positive component of the EMG signal, a full wave rectified signal is the absolute value of the signal. The examples here will use a full wave rectified signal.

Examples:

  1. Linear Envelope Example 1

Root Mean Square (RMS) Amplitude

  • Remove DC Offset prior
  • Does not require full-wave rectification[4]

Calculate the RMS of a signal.

Examples:

  1. RMS Processing Example 1
  2. RMS Processing Example 2

Integrate

Examples:

  1. Integrate Example 1

Matlab Filter

It's also possible to design a filter in Matlab and implement the filter in Visual3D. This is described here.

Step 3c: Determine when the Muscle is On/Off

Normalize

Examples:

  1. Normalize EMG to MVC Maximum
  2. Normalize EMG to Generic Global Variable
  3. Normalize to Maximum 30 second interval
  4. Normalize to the Maximum within each Gait Cycle

Onset

Examples:

  1. Onset Example
  2. Onset using Teager-Kaiser Energy

Other EMG Examples

References

Retrieved from ""